我有这张 table (模型——不是 SQL 中的表,所有的键都连接到一个真实的表,但我需要计算这个模型中存在的键。)
key1 key2 key 3
v1 d1 t1
v2 d2 t1
v3 d1 t4
v1 d3 t8
v1 d2 t4
需要返回结果
key1 v1 3
key1 v2 1
key1 v3 1
key2 d1 2
测试 fiddle http://sqlfiddle.com/#!9/c102f
我无法一一选择所有键,因为键数 = 79 和行数 = 1 115 260
一个一个的选择过程需要2分钟
最佳答案
您不能在单个 select 语句中对单独的列进行分组,因为第一组会影响第二组,依此类推。
除了一一选择,别无他法,但是 如果您只想将所有内容合并为一个结果,您可以使用 union
(select 'key1' AS column_origin, key1, count(key1) from TestTable group by key1)
union all
(select 'key2', key2, count(key2) from TestTable group by key2)
union all
(select 'key3', key3, count(key3) from TestTable group by key3);
关于mysql - 计算不同的值多个 col,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37343190/