3

我有一张这样的桌子

id    genre    genre2
1      25        0
2      12        25
3      25        12
4      18        17
5      19        14

我想计算不同类型的 id 以及它们在两列中的计数,但合并为一个

想要这样的结果

genre    count
25         3
12         2
18         1
19         1
17         1
14         1
0          1

我已经尝试过联合,计数,以及我想到的一切,但我无法获得我想要的结果,最接近的是进行两个查询并将它们联合起来,但它不像我想要的那样工作

有任何想法吗?谢谢您的帮助

4

1 回答 1

7

您必须UNION ALL改用UNION.

SELECT
genre, COUNT(*) cnt
FROM
(SELECT genre FROM tbl
UNION ALL
SELECT genre2 FROM tbl) a
GROUP BY genre
ORDER BY cnt DESC

你可以在SQL FIDDLE上试试

于 2013-07-15T23:08:59.690 回答