gpt4 book ai didi

SQL如何选择列中具有相同值的记录数

转载 作者:行者123 更新时间:2023-12-02 00:57:09 24 4
gpt4 key购买 nike

我有一个基本上像这样设置的表:

Question | Category
=========|=========
Who? |Vague
What? |Vague
When? |Specific
Why? |Specific
How? |Specific

我想选择所有问题,但我还想返回与当前选中的条目属于同一类别的条目数量,如下所示:

Question | Category | Count
=========|==========|======
Who? |Vague |2
What? |Vague |2
When? |Specific |3
Why? |Specific |3
How? |Specific |3

我该怎么做?

最佳答案

在 Oracle(和大多数其他数据库)中,您只需使用分析函数:

select t.*, count(*) over (partition by category) as cnt
from t;

在 MySQL 中,相关子查询可能是最好的方法:

select t.*, (select count(*) from t t2 where t2.category = t.category) as cnt
from t;

关于SQL如何选择列中具有相同值的记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com