SQL:如何为每个组选择每天的最大值?

mik*_*ike 6 sql sql-server select

假设我有一个包含以下列的表...

Name, Date, Number
Run Code Online (Sandbox Code Playgroud)

并说我们在这些列中插入了以下数据......

Bob, 2011-11-22, 1
Bob, 2011-11-22, 5
Bob, 2011-11-22, 4
Bob, 2011-11-22, 3
Wendy, 2011-11-22, 3
Wendy, 2011-11-22, 4
Wendy, 2011-11-22, 2
Wendy, 2011-11-22, 1
Chris, 2011-11-22, 4
Chris, 2011-11-22, 1
Bob, 2011-11-21, 4
Bob, 2011-11-21, 3
Wendy, 2011-11-21, 2
Wendy, 2011-11-21, 4
Wendy, 2011-11-21, 1
Chris, 2011-11-21, 4
Chris, 2011-11-21, 1
Run Code Online (Sandbox Code Playgroud)

现在我想做的是为每个日期获取每个名称的最大数字值.所以我的查询结果看起来像这样......

Bob, 2011-11-22, 5
Wendy, 2011-11-22, 4
Chris, 2011-11-22, 4
Bob, 2011-11-21, 4
Wendy, 2011-11-21, 4
Chris, 2011-11-21, 4
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.我正在使用SQL 2005.

Cod*_*ian 20

关于什么

SELECT [Name], [Date], MAX(Number)
FROM [yourTable]
GROUP BY [Name], [Date] 
Run Code Online (Sandbox Code Playgroud)

看到:


fle*_*esk 8

它并不像你想象的那么难.

select name, date, max(number) from table group by name, date
Run Code Online (Sandbox Code Playgroud)


Joe*_*lli 6

SELECT Name, Date, MAX(Number)
    FROM YourTable
    GROUP BY Name, Date;
Run Code Online (Sandbox Code Playgroud)


Mar*_*c B 5

SELECT Name, `Date`, MAX(Number)
FROM yourtable
GROUP BY Name, `Date`
Run Code Online (Sandbox Code Playgroud)