2012-12-11 112 views
0

我有以下MySQL表:故障创建MySQL查询

enter image description here

我在想,如果有编写一个查询,可以检索“名称”栏和最新的日期不同值的机会每个名字的价值。

对于给定的数据,期望的输出是:

╔═════════╦════════════╗ 
║ Name ║ Date ║ 
╠═════════╬════════════╣ 
║ Foo  ║ 2012-12-11 ║ 
║ Bar  ║ 2012-12-26 ║ 
║ Foo Bar ║ 2012-12-18 ║ 
╚═════════╩════════════╝ 

回答

1
SELECT name, MAX(date) FROM tableName GROUP BY name; 

这是检索name列中的所有项目(不使用distinct),并将它们分组,以便我们可以获取最大数量。 group by允许其他漂亮的技巧,如COUNT(),MIN()

2

MAX使用和GROUP BY

SELECT name, MAX(date) date 
FROM tableName 
GROUP BY name