c# - 将 2 行合并为一行
问题描述
我有这个查询:
Select ID, Groucode
from mytable
返回此结果:
ID GroupCode
---------------
60 00
60 01
70 00
80 00
80 01
90 00
我想要的是只显示带有“00”和“01”的行,如下所示:
ID GroupCode
---------------
60 00
60 01
80 00
80 01
解决方案
我们可以在这里使用聚合:
WITH cte AS (
SELECT ID
FROM mytable
WHERE GroupCode IN ('00', '01')
GROUP BY ID
HAVING COUNT(DISTINCT GroupCode) = 2
)
SELECT *
FROM mytable
WHERE ID IN (SELECT ID FROM cte);
演示
请注意,如果该GroupCode
列确实是数字,那么将您的数据显示为00
并且01
不反映基础数据,因为 SQL Server 实际上只会将这些值视为 0 和 1。在这种情况下,您可以稍微修改我上面的查询。
推荐阅读
- android - RxJava observeOn currentThread 调用 opengl 函数
- .net - TLS 1.2 和现有连接被远程主机强行关闭
- r - R 绘图,名称在 y 轴上,值在 x 轴上
- r - 动态多个图,我怎么能一次调用它们?
- swift - Appcelerator Titanium - 无法找到或使用自动链接库“swiftCore”
- reactjs - Material-ui 自动完成过滤列表
- python - 将数字列转换为日期以进行时间序列分析
- r - 使用 JSON Web 令牌将文件发布到外部 API
- sql - Postgres - 获取第 X 周的星期一
- python - Tkinter 按字母顺序对网格元素进行排序