我有以下 MYSQL:
SELECT DISTINCT(`user_id`), `type`, `link`, `add_text`
FROM `activity` WHERE `id` != 0 AND `type` !=6 AND (`type` = 4 OR `type` = 5)
ORDER BY `id` DESC LIMIT 4
我只想要唯一的user_id
,但我的 sql 结果中出现重复。对此 sql 进行的正确修改是什么,以便不重复 user_id
s
最佳答案
如果您不关心每个用户的类型、链接或添加文本,您可以使用最小/最大和分组依据。
SELECT user_id, max(type), max(link), max(add_text)
FROM activity
WHERE id != 0 A
AND type in (4,5)
Group by User_Id
ORDER BY id DESC LIMIT 4
如果您确实关心,可以对类型进行分组连接、链接并添加文本
SELECT user_id, Group_Concat(type), Group_Concat(link), Group_Concat(add_text)
FROM activity
WHERE id != 0 A
AND type in (4,5)
Group by User_Id
ORDER BY id DESC LIMIT 4
编辑的分组依据只能在 user_ID 上
关于mysql - 选择不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408538/