【问题标题】:SQL query - select distinct category and countSQL 查询 - 选择不同的类别并计数
【发布时间】: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 子句。

标签: mysql sql count distinct


【解决方案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。它更好,因为你可以用它做更多的事情。如果你想要一个例子,我可以写一个答案。但是计数(不同)是这样的方式
      猜你喜欢
      • 1970-01-01
      • 2016-01-16
      • 2016-08-24
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多