mysql - 计算多列中出现的次数

标签 mysql sql database count

我正在尝试计算表中多列的出现次数。所有值都是整数,并且每行中的所有数字都是唯一的。 (即您不会在同一行中出现两个值)表结构是:

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;

关于mysql - 计算多列中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227563/

相关文章:

android - Android中的数据库类似于iPhone中的plist

sql-server - 将 Azure SQL 数据库 (PaaS) 复制到 IaaS(VM 上的 SQL 服务器)

mysql - 左加入学生付款

sql - 对具有许多索引的表进行缓慢的批量插入

sql - PostgreSQL 计算行之间的差异

sql - mysql中的unix时间

MySQL 从 2 个不同的表和列创建 View

mysql 选择内部限制

php - MySQL多对多选择

sql - 为什么 Postgres 忽略我在条件连接上的所有索引?