【问题标题】:Counting several repeated values in a cloumn计算列中的多个重复值
【发布时间】:2021-08-26 16:38:52
【问题描述】:

我需要计算某个值在一列中出现的次数

看起来像这样 (select * from znajezyki order by klos)

klos - 是一个人的序列号(这个值是重复的)

现在我需要创建一个查询,显示有多少人知道 1、2、3 种语言

如果相同的“klos”值重复 2 次,则表示此人知道 2 种语言,如果出现 3 次,则表示 pearson 知道 3 种语言,依此类推

我希望我的结果看起来像这样:

我尝试参考这篇帖子here,但我无法理解它,也无法让它工作

希望大家能明白我在说什么:)

【问题讨论】:

    标签: postgresql count


    【解决方案1】:

    首先做简单的事情:计算每个人知道多少种语言

    SELECT klos, COUNT(*) AS langs
    FROM znajezyki
    GROUP BY klos
    

    然后在子查询中使用该结果来按他们知道多少种语言来统计人数:

    SELECT langs, COUNT(*) AS persons
    FROM (
      SELECT klos, COUNT(*) AS langs
      FROM znajezyki
      GROUP BY klos
    ) AS temp
    GROUP BY langs
    

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 2022-01-19
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-17
      相关资源
      最近更新 更多