[英]Getting a set with unique column values from MySQL
说我有一套这样的列
user_id | username | updated_at | data...
user_id
和username
在集合中不是唯一的,因此您可以拥有类似这样的内容
user_id | username | updated_at | data...
------------------------------------------
1 | test | 140****** | ...
4 | test2 | 140****** | ...
1 | test | 139****** | ...
7 | meh | 140****** | ...
但我想删除重复的事件; 我尝试了GROUP BY
但是由于删除了许多项目,它给了我一些意料之外的东西(我猜想它们会出现在集合的后面,因为查询中有一个LIMIT
)。
如果您需要选择所有数据-首先,您应该确定如何获取Updated_at和data列。
如果您希望将数据连接起来并希望获得最新的updated_at,则应该执行
SELECT user_id, username, max(updated_at), group_concat(data separator ',')
FROM table_name
GROUP BY user_id, username
ORDER BY user_id, username
LIMIT X
在这种情况下,您的数据将按user_id和用户名排序
注意:从问题中不清楚是要从表本身还是仅从结果集中删除数据。
这是你想要的吗?
select distinct user_id, username
from table t;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.