这个GROUP BY语句该怎么写?

jrmd 2006-03-26 09:18:04
<img src="http://photoimg62.qq.com/cgi-bin/load_pic?verify=XIoa9C5kAWfCTCtAGW4ZTQ%3D%3D">
这是我的表,我想要选出这样的记录:

DeviceSN UseSN UseDeptID UseEmpID
1 3 99 99001
2 1 18 07001

要满足两个条件:1、DeviceSN不同,2、UseSN最大


SELECT a.DeviceSN, b.UseSN, b.UseDeptID
FROM (SELECT DeviceSN, max(UseSN) AS _UseSN FROM EQ_DeviceUseList GROUP BY DeviceSN) AS a
LEFT JOIN EQ_DeviceUseList AS b ON a.DeviceSN=b.DeviceSN
这个查询得到了如下的结果:

<img src="http://photoimg61.qq.com/cgi-bin/load_pic?verify=3veibxkAgz1n26gbSwwryQ%3D%3D">
但是我不想要第2条和第3条记录,该如何把它们排除掉?
...全文
141 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjqqxjqq 2006-03-29
  • 打赏
  • 举报
回复
同意楼上的!
bugchen888 2006-03-29
  • 打赏
  • 举报
回复
SELECT a.DeviceSN, b.UseSN, b.UseDeptID
FROM (
SELECT DeviceSN, max(UseSN) AS _UseSN
FROM EQ_DeviceUseList
GROUP BY DeviceSN) AS a
LEFT JOIN EQ_DeviceUseList AS b
ON a.DeviceSN=b.DeviceSN
AND a.UseSN=b._UseSN
ycbao 2006-03-29
  • 打赏
  • 举报
回复
select * from
(select deviceSN,userSn,usedptid,useempid,row_number() over(partition by deviceSN
order by userSN desc) rn from tab)
where rn=1;
ycbao 2006-03-29
  • 打赏
  • 举报
回复
select * from
(select deviceSN,userSn,usedptid,useempid,row_number() over(partition by deviceSN
order by userSN desc) rn)
where rn=1;
bzszp 2006-03-27
  • 打赏
  • 举报
回复
SELECT DeviceSN, UseSN, UseDeptID
from EQ_DeviceUseList
where (DeviceSN, UseSN) in(select DeviceSN,max(UseSN) from EQ_DeviceUseList b
group by b.DeviceSN);

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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