我有这张桌子 (模型 - 不是SQL中的表,所有键都连接到一个真实的表,但我需要计算此模型中存在的键。)
def optional(x):
if x:
yield x
for x in optional(some_func()):
print(x)
结果需要返回
key1 key2 key 3
v1 d1 t1
v2 d2 t1
v3 d1 t4
v1 d3 t8
v1 d2 t4
小提琴试试 http://sqlfiddle.com/#!9/c102f
我无法逐个选择所有按键,因为按键数= 79且行数= 1 115 260
逐个选择过程需要2分钟
答案 0 :(得分:1)
您不能在单个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);