2014-09-05 2 views
1

Я пытаюсь использовать SELECT DISTINCT, чтобы узнать, сколько людей имеют автомобили, сколько есть лодки, теперь много велосипедов и так далее, из этой таблицыMySQL запросов DISTINCT, COUNT

| name | obj | 
--------------------- 
| john | car | 
| mary | boat | 
| dave | car | 
| james | bike | 
| steve | car | 
| walt | bike | 

экс: велосипед - 2

+0

'select separate' works on row-basis. он не фильтрует для отдельного содержимого поля. вам нужно выбрать 'select obj, count (obj) ... group by obj'. –

ответ

1

Вы можете использовать этот запрос

SELECT obj, COUNT(name) as nb FROM table GROUP BY obj ORDER BY obj 

Результат (sqlfiddle):

| obj | nb | 
--------------------- 
| bike | 2 | 
| boat | 1 | 
| car  | 3 | 
+1

Работал! Спасибо, человек, очень признателен! Ура! – Blueleaf

+0

Рад, что это сработало, добро пожаловать! –

0
select sum(obj = 'car') as car_count, 
     sum(obj = 'boat') as boat_count 
from your_table 
+0

Может работать, но что, если у меня есть 100 типов объектов? В моем случае у меня 23 разных объекта. Спасибо за ответ! – Blueleaf