求1条SQL语句关于分组

udSoft2020 2010-02-21 11:50:22
表A 如下

姓名 排序
----------
张三 1
张三 2
李四 1
李四 2
王五 1
赵六 1


要求根据表A 要求生成结果如下(当前状态列,如为该员的最后1条记录,则为1 否则为0)

姓名 排序 当前状态
-----------------------
张三 1 0
张三 2 1
李四 1 0
李四 2 1
王五 1 1
赵六 1 1



用GROUP BY 找出最大该员的最大排序 真添加进来是可以

但是数据有几十万条,用GROUP BY 貌似 效率极低

不知道有没有别的办法
...全文
62 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2010-02-21
  • 打赏
  • 举报
回复
select 姓名,排序,
case when not exists(
select 1 from a where 姓名=t.姓名 and 排序>t.排序)
then 1 else 0 end 当前状态
from a t

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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