在分组之前订购数据

时间:2014-04-16 22:22:57

标签: mysql group-by greatest-n-per-group

我从多个条目的表中选择两个字段“name”和“address”。每条记录都是属于每个名称的归属地址。每次更改地址时都会创建一条新记录,我需要做的就是生成一个名称列表及其最新地址。

要做到这一点,我选择按名称分组的名称和地址,这会得到一个名称和地址列表。但是我怎样才能确保返回的地址是最新的?我可以使用一个日期字段,但我不确定如何同时进行排序和分组。

1 个答案:

答案 0 :(得分:1)

不要使用group by,这不是个好主意,你可以尝试使用这样的左连接:

SELECT t1.name, t1.adress
FROM table AS t1 LEFT JOIN table AS t2
ON (t1.name = t2.name AND t1.date < t2.date)
WHERE t2.date IS NULL;