Mysql 使用order by从多个表中选择Distinct

Mysql 使用order by从多个表中选择Distinct,mysql,Mysql,我被Mysql查询搞砸了,你能帮我吗 我有两张桌子: 使用者 id |名称 1 | foo1 2 | foo2 3 | foo3 职位 id | id |用户|创建|种类 1 | 2 | 15-03-2011 | a 1 | 2 | 14-03-2011 | b 2 | 3 | 13-03-2011 | a 1 | 2 | 12-03-2011 | b 我想要的是检索每个用户的最新帖子,这种帖子按取消创建日期排序并不重要 我该怎么做 谢谢大家使用一个由id\u用户和最长发布日期组成的群组 诸如此

我被Mysql查询搞砸了,你能帮我吗

我有两张桌子:

使用者

id |名称 1 | foo1 2 | foo2 3 | foo3

职位

id | id |用户|创建|种类 1 | 2 | 15-03-2011 | a 1 | 2 | 14-03-2011 | b 2 | 3 | 13-03-2011 | a 1 | 2 | 12-03-2011 | b

我想要的是检索每个用户的最新帖子,这种帖子按取消创建日期排序并不重要

我该怎么做


谢谢大家

使用一个由id\u用户和最长发布日期组成的群组

诸如此类:

SELECT u.name, p.id_user, MAX( p.created_at ) 
FROM posts AS p
LEFT JOIN user AS u ON u.id
WHERE p.id_user = u.id
GROUP BY id_user
一个可能的查询是:

SELECT
u.id,
(SELECT MAX(p.created_at) FROM posts AS p WHERE u.id = p.id_user) AS latest  
FROM 
user AS u;
尽管依赖子查询可能不是最好的解决方案。示例输出:

users:

+------+------+
| id   | name |
+------+------+
|    0 | test |
|    1 | one  |
+------+------+

posts:

+------+---------+------------+------+
| id   | id_user | created_at | kind |
+------+---------+------------+------+
|    0 |       0 | 2011-02-05 | a    |
|    1 |       1 | 2011-02-06 | b    |
|    2 |       0 | 2011-02-03 | a    |
|    3 |       1 | 2011-02-02 | b    |
+------+---------+------------+------+

output:

+------+------------+
| id   | latest     |
+------+------------+
|    0 | 2011-02-05 |
|    1 | 2011-02-06 |
+------+------------+

如果您希望获得所有用户ID中最新帖子的有序列表,您还可以在查询的末尾添加ORDER BY latest DESC。

这里我唯一要添加的是最大列的ORDER BY 3 ORDER顺位谢谢。你们又干了!