SQL 查询 - 选择不同的类别并计数

Posted

技术标签:

【中文标题】SQL 查询 - 选择不同的类别并计数【英文标题】:SQL query - select distinct category and count 【发布时间】:2015-06-30 17:48:36 【问题描述】:

我正在处理一个 SQL 查询,在该查询中我选择不同的类别并计算 x 类别中有多少行。我想达到这样的结果:

X.category | Amount
--------------------
Hi         | 3
--------------------
Hello      | 2
--------------------

SELECT DISTINCT company.category,  category.desc2 FROM company, category

此查询有效,但缺少数量(计数)。

【问题讨论】:

google 并了解 SQL 中的 GROUP BY 子句。 【参考方案1】:

我认为您要查找的代码是 GROUP BY-clause。

SELECT DISTINCT company.category, COUNT(*) 
FROM company, category
GROUP BY company.category

您可以在docs 中阅读更多信息。

【讨论】:

【参考方案2】:

试试这个查询

SELECT  company.category,  count(*) FROM company, category
Where company.category=Category.category
Group By company.category

【讨论】:

【参考方案3】:

好的,我想我已经想出了解决我自己问题的方法。

SELECT DISTINCT company.category, count(DISTINCT company.id) as amount, category.name, category.desc2 FROM company, category WHERE company.category = category.name GROUP BY company.category;

【讨论】:

您应该放弃 pre Ansi 语法并使用 JOIN。它更好,因为你可以用它做更多的事情。如果你想要一个例子,我可以写一个答案。但是计数(不同)是这样的方式

以上是关于SQL 查询 - 选择不同的类别并计数的主要内容,如果未能解决你的问题,请参考以下文章

HQL/SQL 根据计数选择前 10 条记录

SQL查询加入不同的表和计数

是否可以运行SQL查询一次并包括详细输出和按类别计数?

如何在 WooCommerce 中使用 SQL 查询选择特定类别的产品

如何获取列中每个不同值的计数? [复制]

选择具有连接计数记录的不同记录