Mysql中使用DISTINCT和CONCAT在多个字段上去重复
时间:2010-07-17 来源:crazysheep
简单写下,希望可以引出大家的观点:
假设场景,t_article(id,title,add_time,user_id)
文章表
id ---> 自增主键、
title ---> 文章标题、
add_time ---> 发布时间、
user_id ---> 发布者的用户ID。
现在要求是:
同一个用户发布了两篇标题一样的文章则算作重复,不同用户的文章标题一样不算重复。查询出系统中所有不重复的文章。
这个场景是经过我简化和修改的真实需求,我的SQL写法如下:
SELECT
DISTINCT(CONCAT(title,user_id)) AS dis,
id,
title,
add_time,
user_id
FROM
t_article
GROUP BY dis
注:concat()是mysql内置函数,意为拼接。
网上查了好久,想了这种写法(也不知道算不算自创)。貌似可以解决问题。
相关阅读 更多 +