我想拥有来自我的数据库的2行的3个最常出现的字符串。事情是字符串可能出现在column1或column2中。我只想使用一个查询。提前致谢
示例DB:
id string1 string2
1 foo bar
2 bar foo
3 api foo
输出应为:
string count
foo 3
bar 2
api 1
答案 0 :(得分:1)
您可以执行以下查询:
SELECT string, COUNT(*) FROM
(
SELECT string1 string FROM mytable
UNION ALL
SELECT string2 string FROM mytable
) sub
GROUP BY string
ORDER BY COUNT(*) DESC
LIMIT 3
其中mytable
是您的表名。
使用此查询:
string1
或string2
。