Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL-选择“不同”并按最新顺序排序_Mysql_Sql_Pdo - Fatal编程技术网

Mysql SQL-选择“不同”并按最新顺序排序

Mysql SQL-选择“不同”并按最新顺序排序,mysql,sql,pdo,Mysql,Sql,Pdo,我想为我的数据库选择所有不同的gameName记录。目前,我通过以下SQL(简化)完成此操作 表结构 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

我想为我的数据库选择所有不同的
gameName
记录。目前,我通过以下SQL(简化)完成此操作

表结构

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,以提供具有最新
修改日期的独特
游戏名
,然后按最新
修改日期排序。我没有得到我想要的结果

期望输出

foo          2015-01-01 11:24:59
goo          2014-12-18 14:24:59
doo          2014-11-23 21:24:59
如果这对我使用的PDO有任何影响,我将非常感谢您的帮助。

尝试以下方法:

SELECT gameName , Max(modified) as modified
FROM myTable 
GROUP BY gameName 
ORDER BY gameName;
看看这个答案:

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

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

提示:
groupby
+
MAX
mysql没有义务维护嵌套查询的顺序。因此,您的查询不能保证返回所需的结果。请检查另一个答案(这是ANSI SQL友好的),然后删除您的答案。谢谢。哦,我不知道,因为我通常使用MS SQL Server,SQL Server也是一样。mysql、sql server、postgresql和oracle中不保证嵌套查询的顺序。仅仅因为它在一个特定的案例中对你有效并不意味着它会在一段时间后起作用。非常感谢,这就成功了。我试过
,运气不太好。此
sql
中的关键部分是
MAX(modified)
按修改的描述排序
SELECT DISTINCT gameName FROM 
(SELECT gameName FROM myTable ORDER BY DESC modified)
ORDER BY gameName