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

Mysql SQL查询-选择不同的类别和计数,mysql,sql,count,distinct,Mysql,Sql,Count,Distinct,我正在处理一个SQL查询,其中我选择了distinct category并计算x category中的行数。我想要达到这样的结果: X.category | Amount -------------------- Hi | 3 -------------------- Hello | 2 -------------------- 此查询有效,但缺少金额计数。我认为您要查找的代码是GROUP BY子句 您可以在中阅读更多信息。尝试此查询 SELECT company.

我正在处理一个SQL查询,其中我选择了distinct category并计算x category中的行数。我想要达到这样的结果:

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

此查询有效,但缺少金额计数。

我认为您要查找的代码是GROUP BY子句

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

尝试此查询

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

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

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;

google并了解SQL中的GROUPBY子句。您应该删除Ansi之前的语法并使用JOIN。它更好,因为你可以用它做更多的事情。。如果你想要一个例子,我可以写一个答案。。但是一个不同的方法是去做这样的事情
SELECT  company.category,  count(*) FROM company, category
Where company.category=Category.category
Group By company.category
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;