这里有一个我正在尝试通过MySQL查询来清晰解决的问题的简化版本。这不是我正在处理的实际表。
如果我有以下表格:
我需要一个查询,返回以下结果:
我们需要按照“名称”分组,并显示最新的行/买家/ID。
我尝试通过执行嵌套的SELECT语句来实现这一点,在其中我首先执行了“ORDER BY ID DESC”,然后在最外层的SELECT中执行了“GROUP BY NAME”。虽然这是解决问题的一种迂回方式,但似乎由于排序的特性,正确的选择会被返回给我。不幸的是,“GROUP BY”不能“保证”“买家”列将包含预期的条目。
有什么有用的建议可以实现这个查询吗?目前,我在一个大表转储上运行了一个高度低效的PHP版本的查询 - 绝对不是最好的选择。
Name Buyer ID
John Fred 4
John Smith 3
Fred Sally 2
John Kelly 1
我需要一个查询,返回以下结果:
Name Buyer ID
John Fred 4
Fred Sally 2
我们需要按照“名称”分组,并显示最新的行/买家/ID。
我尝试通过执行嵌套的SELECT语句来实现这一点,在其中我首先执行了“ORDER BY ID DESC”,然后在最外层的SELECT中执行了“GROUP BY NAME”。虽然这是解决问题的一种迂回方式,但似乎由于排序的特性,正确的选择会被返回给我。不幸的是,“GROUP BY”不能“保证”“买家”列将包含预期的条目。
有什么有用的建议可以实现这个查询吗?目前,我在一个大表转储上运行了一个高度低效的PHP版本的查询 - 绝对不是最好的选择。
+1
提供示例数据和预期结果。 - John Woo