在SQL Select中将条件行分隔为2列

时间:2016-06-17 07:15:41

标签: sql database

表格是:

ID  Type
1   A
2   A
3   B
4   B

选择后的结果应为:

ID1   ID2
1     3
2     4

获得此结果的SQL查询是什么?

类型A和类型B的项目数相等。

1 个答案:

答案 0 :(得分:2)

您可以使用ROW_NUMBER并在GROUP BY

中使用该SELECT ID1 = MIN(ID), ID2 = MAX(ID) FROM ( SELECT *, rn = ROW_NUMBER() OVER(PARTITION BY Type ORDER BY Id) FROM tbl ) t GROUP BY rn
drupal

ONLINE DEMO