星期三, 2月 15, 2012

[Mysql] left join to count rows

計算聯絡人清單的個數,
分別有contact_list與contact_list_member,
使用left join去計算每個聯絡群組的總個數!!
使用inner join會讓無成員的聯絡人群組無法找出來!!
記得group by cl.contact_list_id也是重點!!

SELECT cl.contact_list_id,cl.contact_list_name,cl.creator,cl.create_date,Count(m.contact_list_id) total FROM `contact_list` cl
left join contact_list_member m on m.contact_list_id = cl.contact_list_id
group by  cl.contact_list_id

如果要再加入條件限制!!

select * from
(
SELECT cl.contact_list_id,cl.contact_list_name,cl.creator,cl.create_date,Count(m.contact_list_id) total FROM `contact_list` cl left join contact_list_member m on m.contact_list_id = cl.contact_list_id
group by cl.contact_list_id
) new_contact_list
where total >1

沒有留言:

張貼留言

留個話吧:)