目标
我想获取一份按最近更改的 FID 排序的唯一 FID 列表。在此示例表中,它应按 150、194、122
示例数据
ID FID changeDate
----------------------------------------------
1 194 2010-04-01
2 122 2010-04-02
3 194 2010-04-03
4 150 2010-04-04
我的尝试
我认为 unique 和 order by 可以解决问题。我最初尝试过:
SELECT distinct `FID` FROM `tblHistory` WHERE 1 ORDER BY changeDate desc
# Returns 150, 122, 194
使用GROUP BY
具有相同的结果。我只是一个 SQL 业余爱好者,而且我有点迷茫。似乎正在发生的事情是聚合函数找到每个函数的第一次出现,然后执行排序。
有没有办法可以直接从 mySQL 获得我想要的结果,或者我是否必须获取所有数据,然后在 PHP 中对其进行排序?
最佳答案
这对我有用:
SELECT FID
FROM tblHistory
GROUP BY FID
ORDER BY MAX(changeDate) DESC;
关于mysql - 从 mySQL 获取排序的不同列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735619/