如何在降低顺序的同时防止MySQL数据库中的重复列行

时间:2018-11-23 02:56:13

标签: mysql sql

如何能帮助我,我在数据库中有一个表,该表的列名为“ recioient_id” 其行的值被重复多次,如何在保持顺序降序并显示最后一行的同时防止重复行 我已经尝试了很多却找不到 我做了这个查询,擅长防止重复并且没有显示最后一行 查询哪个:

SELECT *
FROM `messages`
WHERE `sender_id` = 1
GROUP BY `recioient_id` DESC
HAVING COUNT(*) >= 1

这是示例表

https://drive.google.com/file/d/13fmMB_znYUiy-hvfMgai0a_znOIHjcfU/view?usp=sharing

我希望翻译成功并希望能为您提供帮助

1 个答案:

答案 0 :(得分:0)

如果您希望每recioient_id行,请使用过滤。我会推荐一个相关的子查询:

SELECT m.*
FROM messages m
WHERE m.sender_id = 1 AND
      m.messages_id = (SELECT MAX(m2.messages_id)
                       FROM messages m2
                       WHERE m2.sender_id = m.sender_id AND
                             m2.recioient_id = m.recioient_id
                      )
ORDER BY m.recioient_id;