MYSQL从具有重复值的表中进行选择

时间:2014-02-20 11:57:41

标签: mysql

我正在使用MYSQL数据库 我有一个包含四列idsenderrecieverrecieverread的表格; recieversender列可以包含重复值有没有办法只选择具有重复值的最后一行?

我试过了 SELECT DISTINCT sender FROM msg WHERE sender = sender

5 个答案:

答案 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的给定发件人的行。