【问题标题】:MYSQL Count Distinct year make model in single query?MYSQL Count Distinct year 在单个查询中创建模型?
【发布时间】:2013-11-25 21:24:25
【问题描述】:

大家好,我会尽力解释这一点。我有一张车辆表,假设有 ID、年份、品牌、型号。

|-----------------------------| |身份证号|年份 |制作 |型号 | |-----------------------------| |1 | 2004 |雪佛兰 |银..| |2 | 2004 |福特 | F-150 | |3 | 2003 |雪佛兰 |银..| |4 | 2002 |雪佛兰 |银..| |5 | 2002 |雪佛兰 |银..| |6 | 2002 |雪佛兰 |银..| |-----------------------------| 我想查询该表并返回不同的“年份”以及该年有多少车辆的计数。 2004 (2) 2003 (1) 2002 (3)

或者,我想选择不同的品牌并返回该品牌的车辆数量。

雪佛兰 (5) 福特 (1)

在一天结束时,我希望能够将所有这些放在一起得到这样的东西

2004 雪佛兰 Silver.. (1) 2004 福特 F-150 (1) 2003 Chevy Silver.. (1) 2002 雪佛兰 Silver.. (3)

感谢您的帮助

【问题讨论】:

  • 有没有办法在 cakephp 中做到这一点?

标签: mysql sql


【解决方案1】:

第一个查询:

SELECT `year`, COUNT(DISTINCT `make`) N
FROM YourTable
GROUP BY `year`

第二次查询:

SELECT `make`, COUNT(*) N
FROM YourTable
GROUP BY `make`

第三次查询:

SELECT `year`, `make`, `model`, COUNT(*) N
FROM YourTable
GROUP BY `year`, `make`, `model`

【讨论】:

  • 感谢大家的快速回复。这正是我想要的。
  • 有没有办法在 cakephp 中做到这一点?
【解决方案2】:
select year, make, model, count(*) as count
from vehicles
group by year, make, model
order by year, make, model

【讨论】:

    【解决方案3】:

    这可以在单个查询中完成。您需要按制造和年份细分的车辆数量。下面的查询将为此工作

    SELECT MAKE, YEAR, COUNT(*) 
    FROM TABLE
    GROUP BY YEAR, MAKE
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 2017-03-23
      相关资源
      最近更新 更多