2014-09-05 130 views
1

我试图使用SELECT DISTINCT,找出有多少人有车,有多少船,现在很多的自行车等等,从这个表MySQL查询DISTINCT,COUNT

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

例如:自行车 - 2

+0

'select distinct'在行的基础上工作。它不会过滤不同的字段内容。你需要一个'select obj,count(obj)... group by obj'来代替。 – 2014-09-05 21:56:08

回答

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 2014-09-05 22:15:01

+0

很高兴它的工作,欢迎您! – 2014-09-05 22:15:25

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

可以工作,但如果我有100种类型的对象呢?在我的情况下,我有23个不同的对象。感谢你的回答! – Blueleaf 2014-09-05 22:13:59