在SQLite中查找最常见的字符串

时间:2016-09-21 20:25:14

标签: sql database sqlite

我想在sqlite中找到两个关系中最常出现的字符串。但是,我不能使用自然连接运算符,因为字符串在模式中具有相同的字段名称,用于我需要操作的两个关系。

假设我的表格中包含以下值:

X            Y
names       names     
--           --
'a'         'a'
'b'         'c'
'c'         'c'
'c'         'x'
'b'         'z'

由于这两个表都有名称作为字段,我发现很难找到最常出现的字符串。我应该怎么做呢?

1 个答案:

答案 0 :(得分:0)

您可以使用表名称为字段添加前缀,也可以为特定字段添加别名以消除歧义 - 但我认为您不需要做任何类似的事情来解决此问题。我会做这样的事情:

SELECT   names,
         count(*)
FROM     (SELECT names FROM x UNION ALL SELECT names FROM y)
GROUP BY names
ORDER BY count(*) DESC;

结果

names|count(*)
c|4
a|2
b|2
x|1
y|1