使用SQLite,如何将两列中的值选择到一个结果集中,就像来自一列中一样?我有一个这样的表:
value_1 | value_2
---------+---------
a | a
b | b
c | c
a | d
现在可以了
SELECT value_1, COUNT(value_1) AS count_value_1
FROM some_table
GROUP BY value_1
ORDER BY count_value_1 DESC
我得到这样的东西:
a | 2
b | 1
c | 1
我想做的是还包括第二列中的所有值(就像它们也存储在第一列中一样),以便得到:
a | 3
b | 2
c | 2
d | 1
答案 0 :(得分:0)
使用UNION ALL:
select t.value, count(*) from (
select value_1 value from some_table
union all
select value_2 from some_table
) t
group by t.value
如果有null
个值并且您不希望对它们进行计数,请添加以下条件:
where t.value is not null
在group by
子句之前。