3個表 舉例
a 爺爺
b 兒子
c 孫子
一個爺爺有多個兒子 同樣兒子有多個兒子
那么查詢 按照爺爺分組 有多少個兒子 多少個孫子 如下
爺爺名 兒子總數 所以總數
張三 5 15
李四 8 24
uj5u.com熱心網友回復:
以下,沒有主鍵,有唯一值也可。SELECT 爺爺表.爺爺名,COUNT(DISTINCT 兒子表.主鍵) 兒子總數,COUNT(DISTINCT 孫子表.主鍵) 孫子總數 FROM 爺爺表
LEFT JOIN 兒子表 ON 兒子表和爺爺表的關聯關系,多個關聯關系用and分隔。
LEFT JOIN 孫子表 ON 孫子表和兒子表的關聯關系,多個關聯關系用and分隔。
GROUP BY 爺爺表.爺爺名 ;
uj5u.com熱心網友回復:
這樣肯定不行的,count結果相同
uj5u.com熱心網友回復:
您是覺得結果相同,還是執行過以后結果相同。
uj5u.com熱心網友回復:
如果結果相同,請把執行的陳述句發出來。uj5u.com熱心網友回復:
如果結果相同,請把執行的陳述句發出來。
不好意思我寫錯 第一次join錯欄位了,你的方法可以的,就是查詢速度有點慢用了300秒,能怎么優化呢?謝謝
uj5u.com熱心網友回復:
第一,爺爺表,后邊有沒有where條件,如果有,加索引。第二,兒子表和孫子表,ON后邊的條件增加索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/66908.html
標籤:MySQL
上一篇:SQL資料庫SSL未被使用
