需要对一个字段内容进行分组(group),然后取分组中按照另一个字段排序后的第一条记录,如何写SQL语句?

chenxi_aji 2003-08-18 03:43:07
比如按照字段1进行分组,然后在每个分组中按照字段2排序,最后每个分组取最上一条记录。
谢谢各位!
...全文
794 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxi_aji 2003-08-18
  • 打赏
  • 举报
回复
我现在理解了,哈哈,谢谢, CrazyFor(太阳下山明朝依旧爬上来)的那个的确最好
CrazyFor 2003-08-18
  • 打赏
  • 举报
回复
chenxi_aji(阿吉) ,我的肯定是对的.:)
pengdali 2003-08-18
  • 打赏
  • 举报
回复
select * from 表 tem where 字段2=(select top 1 字段2 from 表 where 字段1=tem.字段1 order by 字段2)

或:

select * from 表 tem where 字段2=(select min(字段2) from 表 where 字段1=tem.字段1)

你可以试试。
pengdali 2003-08-18
  • 打赏
  • 举报
回复
你是要这个:

select * from 表 tem where 字段2=(select top 1 字段2 from 表 where 字段1=tem.字段1)
pengdali 2003-08-18
  • 打赏
  • 举报
回复
你是要这个:

select * from 表 tem where 字段2=(select top 1 字段2 from 表 where 字段1=tem.字段1)
chenxi_aji 2003-08-18
  • 打赏
  • 举报
回复
一楼的我理解起来有点难度。。不过似乎是对的
二楼的为什么要有sum?字段2不是数值型的
三楼的那个是不对的。。。
愉快的登山者 2003-08-18
  • 打赏
  • 举报
回复
select * from 表 as A
where 字段2 = (select top 1 字段2 from 表 where 字段1=A.字段1 order by 字段2)
dlkfth 2003-08-18
  • 打赏
  • 举报
回复
不明白
amtyuranus 2003-08-18
  • 打赏
  • 举报
回复
什么意思?你按1分组?然后在按2排序?
不可能的啊 !!你按2排序,那么2必定分组后数据里面,那么2必定也要在group by里

取第一条用top 1
hjb111 2003-08-18
  • 打赏
  • 举报
回复
select ColnameA from Tablename group by ColnameA order by ColnameB
txlicenhe 2003-08-18
  • 打赏
  • 举报
回复
1:最后每个分组取最上一条记录。(分组就只有一条记录啊)
2:select 字段1,sum(字段2) from 表 order by sum(字段2)


txlicenhe 2003-08-18
  • 打赏
  • 举报
回复
1:最后每个分组取最上一条记录。(分组就只有一条记录啊)
2:select 字段1,sum(字段2) from 表 order by sum(字段2)


txlicenhe 2003-08-18
  • 打赏
  • 举报
回复
1:
Select 字段1,sum(字段2) as 字段2 from 表
group by 字段1
order by sum(字段2)

2:最后每个分组取最上一条记录。(既然是分组就只有一条记录啊?)
CrazyFor 2003-08-18
  • 打赏
  • 举报
回复
select * from 表 as AA where not exists(select 1 from 表 as BB where AA.字段1=BB.字段1 and AA.字段2<BB.字段2)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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