求查询语句

lyjsd 2007-05-07 02:07:03
原表如下:
Department Dtime YE
01 20070220 5000
02 20070222 4200
03 20070228 8000
02 20070308 6500
03 20070310 5000
02 20070330 4700
要求查询各部门中最后(即Dtime最大)的余额,目标表如下:

Department Dtime YE
01 20070220 5000
03 20070310 5000
02 20070330 4700

谢谢指教
...全文
166 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyjsd 2007-05-07
  • 打赏
  • 举报
回复
谢了
shuai45 2007-05-07
  • 打赏
  • 举报
回复
呵呵 写sql不难 难的是 一条sql可以写出多种方法。
paoluo(一天到晚游泳的鱼) 正解
我这也学习了
paoluo 2007-05-07
  • 打赏
  • 举报
回复
--方法一
Select * From 表 A Where Not Exists(Select Dtime From 表 Where Department = A.Department And Dtime > A.Dtime)

--方法二
Select * From 表 A Where Dtime = (Select Max(Dtime) From 表 Where Department = A.Department)

--方法三
Select A.* From 表 A
Inner Join
(Select Department, Max(Dtime) As Dtime From 表 Group By Department) B
On A.Department = B.Department And A.Dtime = B.Dtime

34,588

社区成员

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

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