mysql - 按日期排序和连接两个表

标签 mysql sorting sql-order-by

我有以下表格:

posts
post_id | text    | posts_date
1       | blabla  | 06-06-2013
2       | bababa  | 09-06-2013
...

comments
comment_id | post_id | user_id | text            | comments_date
1          | 1       | 55      | I like this...  | 06-08-2013
2          | 1       | 66      | Yeah, me also!  | 06-07-2013
3          | 2       | 55      | I like this...  | 06-10-2013
4          | 2       | 66      | Yeah, me also!  | 06-11-2013
...

我需要一个 sql 语句,它返回两个表中的所有列,并首先按 posts_date 排序,然后按 comments_date 排序。

所以查询的结果表应该是

post_id | text    | posts_date  |  comment_id  | user_id | text            | comments_date
1       | blabla  | 06-06-2013  |   2          | 66      | Yeah, me also!  | 06-07-2013
1       | blabla  | 06-06-2013  |   1          | 55      | I like this...  | 06-08-2013
2       | bababa  | 09-06-2013  |   3          | 55      | I like this...  | 06-10-2013
2       | bababa  | 09-06-2013  |   4          | 66      | Yeah, me also!  | 06-11-2013

我想到了类似的东西

SELECT * FROM comments c, (SELECT * FROM posts ORDER BY posts_date ASC) p WHERE p.post_id = c.post_id ORDER BY comments_date ASC

但这似乎没有给出正确的结果。

最佳答案

SELECT * 
FROM COMMENTS C JOIN POSTS P ON C.post_id = P.post_id 
ORDER BY P.posts_date,C.comments_date ASC

关于mysql - 按日期排序和连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17513203/

相关文章:

sql - 按嵌套选择排序

python - - 在Python中通过MySQL的计数找到top x?

mysql - 删除超大数据库中的重复条目

bash - 如何在不排序的情况下删除两个文件之间的公共(public)行?

javascript - JS 按特定字符串属性对对象数组进行排序(不是升序或降序)

python - 如何在python中优化以下算法的内存和时间使用

c# - 对嵌套的通用列表进行排序/排序

mysql - 在复杂查询中保存 SELECT 结果的顺序

mysql - 如何在Mysql中使用if条件

mysql - MySQL udf创建报错1127