如何计算某些值在 SQL 表中出现的次数并在列中返回该数字?

Posted

技术标签:

【中文标题】如何计算某些值在 SQL 表中出现的次数并在列中返回该数字?【英文标题】:How to count how many times certain values appear in a table in SQL and return that number in a column? 【发布时间】:2017-06-08 19:14:37 【问题描述】:

我使用了 COUNT 函数来确定一个表中有多少行或一个值在表中出现的频率。

但是,我想将表中多个值的“计数”作为单独的列返回。

假设我们有一个带有列的客户表;客户 ID #、姓名、电话号码。 假设我们还有一个包含以下列的销售表:客户 ID、已购买商品、日期

我希望我的查询返回客户 ID 列和客户 ID 在销售表中出现 # 次的列。我想同时为我的所有客户 ID 执行此操作 - 有什么提示吗?

【问题讨论】:

提示:GROUP BY. 【参考方案1】:

你可以使用group by:

select   customer_id,
         count(*)
from     sales  
group by customer_id

这将按客户 ID 返回一行,其中包含匹配项目的数量。

【讨论】:

【参考方案2】:

你想使用GROUP BY

Select Count(*), CustomerID
from Sales
GROUP BY CustomerID

【讨论】:

以上是关于如何计算某些值在 SQL 表中出现的次数并在列中返回该数字?的主要内容,如果未能解决你的问题,请参考以下文章

计算不同单词在列中出现的次数 Oracle 12c SQL

如何计算某个meta_key在列中出现的meta_value的次数?

Transact-SQL计算整个表中所有值的出现的次数

计算一个值在 Hive/SQL 中连续出现的次数

计算每个值在 PostgreSQL 表中出现的次数?

SQL如何查询出某一列中不同值出现的次数?