作者tn801534 (踢恩)
看板Database
標題[SQL ] 關於三個table group by
時間Fri Jan 14 17:00:47 2011
因為目前系統是使用mysql4 沒有子查詢功能
SELECT A.*,AVG(point) avgPoint
FROM A LEFT JOIN B ON A.id = B.id
GROUP BY A.id ORDER BY avgPoint
SELECT A.*,SUM(click) sumClick
FROM A LEFT JOIN C ON A.id = C.id
GROUP BY A.id
請問這兩個SQL在不生級mysql的情況下有辦法一次做完嗎
因為我可能會用到sumClick排序
SELECT A.*,AVG(point) avgPoint,SUM(click) sumClick
FROM A LEFT JOIN B ON A.id = B.id LEFT JOIN C ON A.id = C.id
GROUP BY A.id
上面這樣做sumClick會被重複算到不正確
希望有高手能幫我解決~~
萬分感謝~~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.20.224.10
→ kylekai:mysql 4.0 ?.. 那可真是久遠了... 01/14 17:31
→ tn801534:的確是4.0 嘆... 01/15 14:44
※ tn801534:轉錄至看板 Web_Design 01/15 14:45
推 danielguo:如果B有PK, sum / GREATEST(1, COUNT(DISTINCT B.`PK`)) 01/18 07:15
→ tn801534:感謝樓上大大 真是奇特的方法~~.. 01/20 12:30