求助:sql分组选取最大的一条数据

ronalho 2004-12-26 01:58:36
id name address score score1
1 a qw 60 80
2 b er 70 60
3 c rr 70 70
4 d tt 80 60
5 e ty 60 70
6 f ui 80 80

如上表:在asp.net中怎样用SQL语句按score字段分组选取score1中数值最大的一条数据。

所返回结果如下:
id name address score score1
1 a qw 60 80
3 c rr 70 70
6 f ui 80 80

先谢谢了。

...全文
367 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxuu503 2004-12-26
  • 打赏
  • 举报
回复
不看了,这么多人,肯定有对的答案!
tengjian1981 2004-12-26
  • 打赏
  • 举报
回复
TO: tttttttt1234(绿光魔鬼) 你得到结果是:
id name address score score1
1 a qw 60 80
2 b er 70 70
3 c rr 70 70
4 d tt 80 80
5 e ty 60 80
6 f ui 80 80

而不是楼主要的结果.
这样是不是就好了:
select b.id,b.Name,b.Address,a.Score,a.Score1 from
(
select Score,max(Score1) as Score1 from Table Group By Score
) a
left join Table b on a.Score=b.Score and a.Score1=b.Score1
tttttttt1234 2004-12-26
  • 打赏
  • 举报
回复
select a.id,a.Name,a.Address,a.Score,b.Score1 from
Table a
left join
(
select Score,max(Score1) from Table Group By Score
) b on a.Score=b.Score
awant2k 2004-12-26
  • 打赏
  • 举报
回复
这句话“在asp.net中怎样用SQL语句按score字段分组选取score1中数值最大的一条数据”有点岐义,现给出以下这些SQL语句供选择:

SELECT TOP 1 * FROM [test01] WHERE [score] IN (
SELECT [score] FROM [test01] WHERE [score1]=(
SELECT MAX([score1])
FROM [test01])
GROUP BY [score]) ORDER BY [score] DESC

SELECT * FROM [test01]
WHERE [score] IN (
SELECT TOP 1 [score] FROM [test01]
WHERE [score1]=(
SELECT MAX([score1]) FROM [test01])
GROUP BY [score] ORDER BY [score] DESC)

SELECT TOP 1 * FROM [test01]
WHERE [score] IN (
SELECT [score] FROM [test01]
WHERE [score1]=(
SELECT MAX([score1])
FROM [test01])
GROUP BY [score])
ORDER BY [score] DESC

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧