按 SELECT 子查询的最后一行排序

用户9644796

我有 2 个表:“帖子” - 用于用户发布的帖子及其包含的所有信息。和“消息”——包括每个帖子的消息。表格如下所示:

帖子:

--------------------------------------------------
| post_id | post_creator_id  | post_information  |
--------------------------------------------------

消息:

----------------------------------------------------------
| message_id |  post_id | user_id |     message_text     |
----------------------------------------------------------

我想向用户 (user_id) 显示他参与的所有聊天的列表,并按任何聊天中发送的最后一条消息对其进行排序。

所以有几件事要做:首先我需要按messages表中的 post_id 分组(所以没有重复)并按message_idDESC排序,我尝试了子查询和连接,但都没有奏效。这是我的子查询尝试的示例:

SELECT posts.post_information FROM posts WHERE posts.post_id in (SELECT 
 messages.post_id FROM messages ORDER BY message_id DESC)    

无法弄清楚如何让查询只显示不同的行(没有重复的 post_id)以及 join 是否是更好的选择?

苏桑

在查询中简单的变化,我们可以使用INNER JOINmessages表和ORDER BYmessage_id的,而不是使用suqbyery(看来你的想为了输出数据message_iddescending顺序。

SELECT posts.post_information 
FROM posts 
INNER JOIN (SELECT post_id, max(message_id) mid 
            FROM messages 
            GROUP BY post_id) mes ON mes.post_id = posts.post_id
ORDER BY mes.mid DESC

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按升序选择最后一行

来自分类Dev

Python 3:按最后一行的列值排序DF的字典

来自分类Dev

根据最后一行的值按列对Deedle Frame进行排序

来自分类Dev

MySQL SELECT按2列的值排序

来自分类Dev

获取在MySQL中按“行ID”排序的SELECT结果

来自分类Dev

我按asc排序时,查询仅显示第一行数据,但按desc过滤时,查询正常

来自分类Dev

MySQL LEFT JOIN仅一行,按列排序,不带子查询

来自分类Dev

MySQL LEFT JOIN仅一行,按列排序,不带子查询

来自分类Dev

PostgreSQL按子查询排序

来自分类Dev

PostgreSQL按子查询排序

来自分类Dev

在熊猫中按组保留X%的最后一行

来自分类Dev

如何按类别选择表组的最后一行

来自分类Dev

仅选择一行,按值字段排序

来自分类Dev

排序结果按每一行的总和

来自分类Dev

MYSQL SELECT 最后 5 个结果,然后按日期对这 5 个结果进行排序?

来自分类Dev

按子查询对主查询进行排序

来自分类Dev

MySQL:按多列分组时选择第一行或最后一行

来自分类Dev

在SQL中的select语句中按字段排序

来自分类Dev

SELECT父亲+他的孩子+按nPages排序的子书

来自分类Dev

在Oracle中的select语句“ in”子句中按值顺序排序

来自分类Dev

options_for_select 在 ruby on rails 中按字母顺序排序

来自分类Dev

在.select查询方法中按值数组搜索

来自分类Dev

如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

来自分类Dev

PHP / MySQL SELECT按字段(值1,值2)查询和排序等

来自分类Dev

SELECT WHERE IN(a,b,c)查询:按条件顺序对结果进行排序(a,b,c)

来自分类Dev

查询中的“ Invalid Column Name”错误,按case语句和外部select进行排序

来自分类Dev

如何按最后更新行排序

来自分类Dev

在 SQL Server Select 命令中按值比较行

来自分类Dev

(ORDER BY CASE WHEN)按子查询排序

Related 相关文章

  1. 1

    按升序选择最后一行

  2. 2

    Python 3:按最后一行的列值排序DF的字典

  3. 3

    根据最后一行的值按列对Deedle Frame进行排序

  4. 4

    MySQL SELECT按2列的值排序

  5. 5

    获取在MySQL中按“行ID”排序的SELECT结果

  6. 6

    我按asc排序时,查询仅显示第一行数据,但按desc过滤时,查询正常

  7. 7

    MySQL LEFT JOIN仅一行,按列排序,不带子查询

  8. 8

    MySQL LEFT JOIN仅一行,按列排序,不带子查询

  9. 9

    PostgreSQL按子查询排序

  10. 10

    PostgreSQL按子查询排序

  11. 11

    在熊猫中按组保留X%的最后一行

  12. 12

    如何按类别选择表组的最后一行

  13. 13

    仅选择一行,按值字段排序

  14. 14

    排序结果按每一行的总和

  15. 15

    MYSQL SELECT 最后 5 个结果,然后按日期对这 5 个结果进行排序?

  16. 16

    按子查询对主查询进行排序

  17. 17

    MySQL:按多列分组时选择第一行或最后一行

  18. 18

    在SQL中的select语句中按字段排序

  19. 19

    SELECT父亲+他的孩子+按nPages排序的子书

  20. 20

    在Oracle中的select语句“ in”子句中按值顺序排序

  21. 21

    options_for_select 在 ruby on rails 中按字母顺序排序

  22. 22

    在.select查询方法中按值数组搜索

  23. 23

    如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

  24. 24

    PHP / MySQL SELECT按字段(值1,值2)查询和排序等

  25. 25

    SELECT WHERE IN(a,b,c)查询:按条件顺序对结果进行排序(a,b,c)

  26. 26

    查询中的“ Invalid Column Name”错误,按case语句和外部select进行排序

  27. 27

    如何按最后更新行排序

  28. 28

    在 SQL Server Select 命令中按值比较行

  29. 29

    (ORDER BY CASE WHEN)按子查询排序

热门标签

归档