求解答,SQL如何用一条查询,统计出同一字段不同项目的合计,而且不需要groupby分组

happy51ting 2017-06-22 06:17:21
如题,达到如下目的:


查询条件是日期,物料代码和名称都不分组。
谢谢!
...全文
837 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-06-22
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([营业时间] nvarchar(25),[物料代码] nvarchar(24),[名称] nvarchar(23),[数量] int)
Insert #T
select N'6月22日',N'N001',N'苹果',40 union all
select N'6月22日',N'N002',N'橘子',20 union all
select N'6月22日',N'N003',N'梨',60 union all
select N'6月22日',N'N001',N'苹果',20 union all
select N'6月22日',N'N004',N'西瓜',30 union all
select N'6月22日',N'N006',N'葡萄',50 union all
select N'6月22日',N'N009',N'哈密瓜',10 union all
select N'6月22日',N'N003',N'梨',15 union all
select N'6月22日',N'N002',N'橘子',38
Go
--测试数据结束
SELECT * ,
SUM([数量]) OVER ( PARTITION BY 营业时间, 物料代码, 名称 ) AS 今日总计
FROM #T;


RINK_1 2017-06-22
  • 打赏
  • 举报
回复
或者用 SUM(数量) OVER (PARTITION BY 物料代码,名称,营业时间)
RINK_1 2017-06-22
  • 打赏
  • 举报
回复
SELECT *,(SELECT SUM(数量) FROM TABLE WHERE 营业时间=A.营业时间 AND 名称=A.名称 AND 物料代码=A.物料代码) AS 今日合计 FROM TABLE

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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