计算多列的出现次数
Count the occurrences across multiple columns
我正在尝试计算 table 中多个列的出现次数。所有值都是整数,并且每行中的所有数字都是唯一的。 (即您不会在同一行中出现两个值)table 结构是:
ID Number1 Number2 Number3 Number4 Number5 Number6
---------------------------------------------------------
11 6 4 5 9 8
6 9 11 5 3 15
8 5 9 11 4 6
4 11 17 3 7 1
预期的输出类似于:
Number Count
--------------
11 4
6 3
4 3
5 3
9 3
3 2
8 2
15 1
17 1
7 1
1 1
我试过使用枢轴和在互联网上找到的各种其他方法,但似乎无法使其正常工作。任何想法,这似乎是一个简单的查询,但我就是做不对。
如果只有 6 列,那么您可以采用一种方法
select Number, count(*) From (select Number1 as Number from your_table
union all
select Number2 as Number from your_table
union all
select Number3 as Number from your_table
union all
select Number4 as Number from your_table
union all
select Number5 as Number from your_table
union all
select Number6 as Number from your_table) myTab
group by Number;
我正在尝试计算 table 中多个列的出现次数。所有值都是整数,并且每行中的所有数字都是唯一的。 (即您不会在同一行中出现两个值)table 结构是:
ID Number1 Number2 Number3 Number4 Number5 Number6
---------------------------------------------------------
11 6 4 5 9 8
6 9 11 5 3 15
8 5 9 11 4 6
4 11 17 3 7 1
预期的输出类似于:
Number Count
--------------
11 4
6 3
4 3
5 3
9 3
3 2
8 2
15 1
17 1
7 1
1 1
我试过使用枢轴和在互联网上找到的各种其他方法,但似乎无法使其正常工作。任何想法,这似乎是一个简单的查询,但我就是做不对。
如果只有 6 列,那么您可以采用一种方法
select Number, count(*) From (select Number1 as Number from your_table
union all
select Number2 as Number from your_table
union all
select Number3 as Number from your_table
union all
select Number4 as Number from your_table
union all
select Number5 as Number from your_table
union all
select Number6 as Number from your_table) myTab
group by Number;