请教个 SqlServer 筛选查询结果的 SQL

2022-07-16 22:57:49 +08:00
 ooee2016
SELECT 
	uid AS '用户 ID', 
	(CASE sid
		WHEN 10001 THEN 'A'
		WHEN 10002 THEN 'B'
		WHEN 10003 THEN 'C'
		WHEN 10004 THEN 'D'
	END) AS '商品 ID', 
	COUNT(*) AS '数量'
FROM MyTable 
WHERE sid IN (10001, 10002, 10003, 10004) 
GROUP BY uid, sid 
ORDER BY uid, sid

查询结果

用户 ID 商品 ID 数量
4 A 102
4 B 5
4 C 57
4 D 227
5 A 1
5 C 1
5 D 1
7 A 10
7 B 1
7 C 11
7 D 1
105 A 7
105 B 1
105 C 1
105 D 2
142 A 1
142 B 1
142 C 1
260 C 10
437 A 9
437 B 1
437 C 1
437 D 2
722 A 1
823 A 2
849 次点击
所在节点    MySQL
2 条回复
chenxytw
2022-07-16 23:30:02 +08:00
虽然你发错节点了,但我想你要找的应该是类型 group having 这个语句,用作聚合结果的筛选。不过 SQLServer 里面叫啥自己搜吧。
ooee2016
2022-07-16 23:32:38 +08:00
@chenxytw #1 谢谢,首页没看到有 SQL Server ,刚点开全部节点找到了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX