2012-11-01 87 views
1

在此查询我需要删除重复导师ID和计数他们..MySQL的计数查询

SELECT COUNT(t.tutor_id) FROM tutors AS t 
    INNER JOIN tutor_category_subject as tcs ON t.tutor_id = tcs.tutor_id 
    INNER JOIN subject AS s ON tcs.subject_id = s.subject_id 
WHERE s.subjects LIKE '%business%' 

这是查询输出:

+-------------------+ 
| COUNT(t.tutor_id) | 
+-------------------+ 
|     6 | 
+-------------------+ 

,但它应该是4 ..为什么家教ID是3,6,15,15,16,16

回答

2

使用distinct

SELECT COUNT(DISTINCT t.tutor_id) FROM tutors AS t 
    INNER JOIN tutor_category_subject as tcs ON t.tutor_id = tcs.tutor_id 
    INNER JOIN subject AS s ON tcs.subject_id = s.subject_id 
WHERE s.subjects LIKE '%business%' 
0

例如,将名为'total'的别名放入带有计数的列中,然后在查询结尾处添加GROUP BY。