【问题标题】:Conditional count column条件计数列
【发布时间】:2021-08-16 14:49:22
【问题描述】:

我有一个名为 tbl_data 的表,目前正在执行如下查询:

选择 tbl_data.id, tbl_data.name 从 table_name AS tbl_data

这会返回类似这样的内容

ID Name
abc name1
abc name2
def name3

我希望能够像这样计算 ID 在表中出现的次数:

Count of ID ID Name
2 abc name1
2 abc name2
1 def name3

我想我可以这样做:

SELECT
count(id),

它只返回 1。所以我尝试过

SELECT
(SELECT(COUNT(*) FROM table_name WHERE id = tbl_data.id))

【问题讨论】:

    标签: sql count


    【解决方案1】:

    使用窗口函数:

    SELECT COUNT(*) OVER (PARTITION BY tbl_data.id) as count_of_id,
           tbl_data.id, tbl_data.name
    FROM table_name AS tbl_data
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-30
      • 2015-06-16
      • 2013-11-22
      • 1970-01-01
      • 2018-06-20
      • 2022-01-06
      • 2012-04-25
      • 2015-09-23
      相关资源
      最近更新 更多