2012-01-14 181 views
0

像問題說的是有沒有更好的方式來寫:有沒有更好的方法來編寫這個MySQL查詢?

SELECT clients_lists.*, 
     COUNT(clients_lists_relationships.clientid) 
FROM clients_lists 
     LEFT JOIN clients_lists_relationships 
     ON clients_lists.listid = clients_lists_relationships.listid 
WHERE clients_lists.parentid = 1 
GROUP BY clients_lists.listid; 
+0

看起來很好。你想達到什麼目的? – 2012-01-14 10:30:45

+1

嘗試獲取每個列表中的用戶列表和成員數量。 – 2012-01-14 10:31:41

回答

3

不是真的。查詢對我來說看起來很好。你可以嘗試使用別名更好的可讀性:

SELECT c.*, 
     COUNT(r.clientid) 
FROM clients_lists c 
     LEFT JOIN clients_lists_relationships r 
     ON c.listid = r.listid 
WHERE c.parentid = 1 
GROUP BY c.listid; 

但它不會真正使技術差異(不,我知道)。

還要確保clients_lists.listidclients_lists_relationships.listid具有相同的數據類型和長度,並進行索引。這一定會幫助您查詢的性能。

相關問題