2013-11-25 2 views
2

Эй, ребята, я сделаю все возможное, чтобы объяснить это. У меня есть таблица автомобилей, скажем, есть идентификатор, год, марка, модель. MYSQL Count Отличная модель года в одном запросе?

 
|----------------------------| 
|ID | year | make | model | 
|----------------------------| 
|1 | 2004 | Chevy | Silve..| 
|2 | 2004 | Ford | F-150 | 
|3 | 2003 | Chevy | Silve..| 
|4 | 2002 | Chevy | Silve..| 
|5 | 2002 | Chevy | Silve..| 
|6 | 2002 | Chevy | Silve..| 
|----------------------------| 
Я хочу запросить таблицу и вернуть отчетный год и подсчет количества автомобилей за этот год.

 
2004 (2) 
2003 (1) 
2002 (3) 

В качестве альтернативы, я хотел бы выбрать отличную марку и вернуть количество автомобилей, которые тоже делают.

 
Chevy (5) 
Ford (1) 

В конце дня я хотел бы быть в состоянии положить, что все вместе, чтобы получить что-то вроде этого

 
2004 Chevy Silve.. (1) 
2004 Ford F-150 (1) 
2003 Chevy Silve.. (1) 
2002 Chevy Silve.. (3) 

Я бы признателен за любую помощь

+0

Есть ли способ делать это в cakephp? – Rymn

ответ

2

Первый запрос:

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` 
+0

Спасибо всем за быстрый ответ. Это именно то, что я искал. – Rymn

+0

Есть ли способ сделать это в cakephp? – Rymn

2

Это может быть выполненных в одном запросе. Вам нужно количество транспортных средств, разбитых на год и год. Ниже запрос будет работать для этого

SELECT MAKE, YEAR, COUNT(*) 
FROM TABLE 
GROUP BY YEAR, MAKE 
2
select year, make, model, count(*) as count 
from vehicles 
group by year, make, model 
order by year, make, model 
Смежные вопросы