sql-server - 仅在具有 3 个或更多结果的项目时显示
问题描述
我需要你的帮助。我只需要在查询中显示具有 3 个或更多结果的项目
这条 SQL 语句只获取每个项目的类型。
select INUMBR as ITEM, IUPC as BARCODE, IUPCCD as Type
from [DWSTAGE].[INVUPC]
where iupccd = 'X'
order by INUMBR
这是我的查询结果:
ITEM | BARCODE | TYPE
--------------+---------------------+----------
12458 | 481181880922 | X
12458 | 481181880924 | X
12458 | 481181880926 | X
30689 | 485481881862 | X
30699 | 485481881861 | X
11449 | 483981889371 | X
44775 | 480081880924 | X
44775 | 480081880922 | X
44775 | 480081880923 | X
44775 | 480081880925 | X
我的预期结果:它应该只显示具有 3 个或更多结果的项目:
ITEM | BARCODE | TYPE
--------------+---------------------+---------
12458 | 481181880922 | X
12458 | 481181880924 | X
12458 | 481181880926 | X
44775 | 480081880924 | X
44775 | 480081880922 | X
44775 | 480081880923 | X
44775 | 480081880925 | X
解决方案
一种方法COUNT
用作分析函数:
WITH cte AS (
SELECT INUMBR AS ITEM, IUPC AS BARCODE, IUPCCD AS TYPE,
COUNT(*) OVER (PARTITION BY INUMBR) ITEM_CNT
FROM [DWSTAGE].[INVUPC]
WHERE iupccd = 'X'
)
SELECT ITEM, BARCODE, TYPE
FROM cte
WHERE ITEM_CNT >= 3
ORDER BY BARCODE;
推荐阅读
- reactjs - 如何通过下拉链接在 React 上使用 NavLink-activeStyle
- c - 服务器无法向客户端发送 ump 消息
- android - 在 Kotlin 的 Loader 中声明投影
- angularjs - 如何使用 $http 获取 $http 发布请求的响应数据 - AngularJS
- assembly - 如何使用系统调用打印整数
- c++ - 将数据从线程存储到全局容器的最佳方法?
- c++ - 为什么我必须以这种方式声明指针?
- reactjs - React Lazy Load Image Component 在 Safari 中不起作用
- javascript - addListener 幕后
- javascript - 将数据发送到谷歌电子表格