: group by 不是這麼用的. 上面的sql只要把group by(含)後那段刪掉即可.
謝謝大大的回覆~~
: : 第二是另一個問題~~
: : 我有兩個table: A(x, y), B (y, z), x,y,z是裡面的欄位~
: : 這裡有兩個query
: : Query 1: select A.x, (select count(*) from B where B.y = A.y) as C from A;
: : Query 2: select A.x, count(*) as C from A, B where B.y = A.y group by A.x;
: 我用mysql跑了一個範例, 以A為主表, B為副表, 結果Query 1跟Query 2不太一樣.
: Query 1:
: 這種結構我沒用過, 不太熟. 猜測應該類似是以 left join 的方式聯結A,B兩表
: 應該與 Query 1.1 作用一樣.
: Query 1.1:
: select A.x, count(*) as C from A left join B on B.y = A.y group by A.x;
: 所以 在A中的記錄若在B中沒有與之關聯到的記錄, 一樣會被撈出來, 而C值為0.
: (以上這段描述看不懂的話我再解說)
那我想問一下~~
所以在新的表格裡~~
A.x跟C分別代表什麼呢~~?
: Query 2:
: 是用 inner join 的方式連結 A, B兩個table, 在這條件下, 凡是
: 在A中的記錄若在B中沒有與之關聯到的記錄, 不會被撈出來.
那在這query 2裡~~
A.x和C有分別代表什麼呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.186.28.46