SQL - SELECT DISTINCT和ORDER BY Latest

时间:2015-01-10 10:23:25

标签: mysql sql pdo

我想从我的数据库中选择所有不同的gameName记录。目前我通过以下SQL(简化)

执行此操作
SELECT DISTINCT gameName FROM myTable ORDER BY gameName;

表格结构

id  | gameName   |  modified
__________________________________________
1     foo          2014-12-21 19:24:59
6     goo          2014-12-18 14:24:59
8     foo          2015-01-01 11:24:59
21    doo          2014-11-23 21:24:59
32    foo          2014-10-01 19:24:59
3     doo          2014-08-15 22:24:59

输出

doo
foo
goo

我正在尝试修改此SQL,以便为我提供具有最新gameName日期的独特modified,然后按最新modified日期排序。我没有得到我想要的结果。

期望输出

foo          2015-01-01 11:24:59
goo          2014-12-18 14:24:59
doo          2014-11-23 21:24:59

如果它有任何区别我正在使用PDO任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

试试这个:

SELECT gameName , Max(modified) as modified
FROM myTable 
GROUP BY gameName 
ORDER BY gameName;

答案 1 :(得分:0)

看看这个答案:SQL: Any straightforward way to order results FIRST, THEN group by another column?

它可能看起来像这样。我没有访问SQL Server,因此我现在无法对其进行测试。但它应该给你一个想法。

SELECT DISTINCT gameName FROM 
(SELECT gameName FROM myTable ORDER BY DESC modified)
ORDER BY gameName