我试图在两行中的任何一行中计算一个不同的值。例如,一个包含fruit0,fruit1列的表。我可以得到任一行的不同值的计数,但我想要计算它们的数量(注意这是一个愚蠢的人为例子。)
示例:
id | fruit0 | fruit1
--------------------
0 | apple | banana
1 | apple | pear
2 | apple | apple
3 | pear | banana
我想要类似的东西:
fruit | count
--------------
apple | 4
banana| 2
pear | 2
答案 0 :(得分:5)
select fruit_name, count(*)
FROM
(
SELECT fruit0 as fruit_name
FROM table1
UNION ALL
SELECT fruit1 as fruit_name
FROM table1
)aaa
GROUP BY fruit_name