求SQL 语句 用以 查询某公司 各个业务人员的 某个时间段内最后一条 销售记录

eisldkw 2020-06-12 05:23:58
求SQL 语句 用以 查询某公司 各个业务人员的 某个时间段内最后一条 销售记录

表名:销售记录表 表结构如下:

序号 销售人员编号 销售人员姓名 产品名称 数量 单价 合计金额 销售时间
1 1 张三 面条 1000 10 10000 2020-01-1 08:09:10
2 1 张三 蛋糕 5000 20 100000 2020-01-23 13:23:17

3 2 李四 面条 2000 10 20000 2020-01-03 08:09:10
4 2 李四 蛋糕 1000 20 20000 2020-01- 21 13:23:17

按要求是取出第2条和第4条记录。


请问这个查询语句如何写? 谢谢大家
...全文
548 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
向阳的花儿 2020-06-19
  • 打赏
  • 举报
回复
引用 1 楼 AAACCCEEEFFFA 的回复:

;WITH K AS (
	SELECT ROW_NUMBER() OVER(PARTITION BY 销售人员编号 ORDER BY  销售时间 DESC) TopNum,*
	FROM 销售记录表 
)
SELECT * 
FROM 销售记录表
WHERE TopNum=1
补充一下;要看一段时间内的,需要加上时间筛选条件 declare @startt datetime; declare @endt datetime; GO ;WITH K AS ( SELECT ROW_NUMBER() OVER(PARTITION BY 销售人员编号 ORDER BY 销售时间 DESC) TopNum,* FROM 销售记录表 where 销售时间 between @startt and @endt ) SELECT * FROM 销售记录表 WHERE TopNum=1
lhz_dxm 2020-06-12
  • 打赏
  • 举报
回复
应该是select * from k where topnum=1
AAACCCEEEFFFA 2020-06-12
  • 打赏
  • 举报
回复 1

;WITH K AS (
	SELECT ROW_NUMBER() OVER(PARTITION BY 销售人员编号 ORDER BY  销售时间 DESC) TopNum,*
	FROM 销售记录表 
)
SELECT * 
FROM 销售记录表
WHERE TopNum=1

34,590

社区成员

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

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