如何计算查询中每个列表中的字符串出现次数?

时间:2013-05-02 06:10:01

标签: sql database oracle

所以基本上,我有一个不同名称的列表,让我们说

John Mary Pedro

我有一个返回John John Mary Pedro Mary John Pedro Mary Mary

的查询

我想要一个同时接受这两个并返回

的查询

John 3

Mary 4

Pedro 2

但我完全不知道怎么做。

提前致谢

2 个答案:

答案 0 :(得分:3)

这应该是非常简单的。

您需要使用聚合函数COUNT()来计算每个名称的实例数。

SELECT Name, COUNT(*) AS totalCount
FROM   tableName
GROUP  BY Name

答案 1 :(得分:1)

这是编写SQL查询的另一种方法:

SELECT Name, count(*) OVER (PARTITION BY Name) as "occurrence" from yourTable;

此处使用分析函数查找表中的名称计数。