我正在使用MYSQL数据库
我有一个包含四列id
,sender
,reciever
和recieverread
的表格;
reciever
和sender
列可以包含重复值有没有办法只选择具有重复值的最后一行?
我试过了
SELECT DISTINCT sender FROM msg WHERE sender = sender
答案 0 :(得分:1)
您可以尝试这样的事情:
SELECT sender FROM msg GROUP BY sender HAVING COUNT(sender) > 1;
答案 1 :(得分:0)
这样可以防止数据重复。 你可以试试这个,
SELECT DISTINCT sender FROM msg WHERE sender = sender group by sender
答案 2 :(得分:0)
怎么样:
SELECT MAX(id) AS id_last, sender, receiver, recieverread FROM msg GROUP BY sender, receiver, recieverread
答案 3 :(得分:0)
试试这个
select maxid ,sender from msg where id in (
select max(id) as maxid from msg GROUP BY sender)
答案 4 :(得分:0)
在MySQL中处理此问题的标准方法是使用not exists
子句:
select m.*
from msg m
where not exists (select 1 from msg m2 where m2.sender = m.sender and m2.id > m.id);
也就是说,选择表中没有较大ID的给定发件人的行。