因此,我試着用Google搜索一個明確的答案,但沒有真正出現。簡單地說,這個問題是下面的是更好的(假設A
是一個唯一的ID在T1
):按風格分類的SQL Group
SELECT T1.A, SUM(T2.B), T1.C, T1.D, ...
FROM T1
JOIN T2
ON T1.A = T2.A
GROUP BY T1.A, T1.C, T1.D, ...
OR
SELECT T1.A, SUM(T2.B), MAX(T1.C) AS C, MAX(T1.D) AS D, ...
FROM T1
JOIN T2
ON T1.A = T2.A
GROUP BY T1.A
OR
SELECT DISTINCT T1.A, SUM(T2.B) OVER(PARTITION BY T1.A), T1.C, T1.D, ...
FROM T1
JOIN T2
ON T1.A = T2.A
編輯:更好可讀性和性能條款。顯然,3號最有可能表現不佳。可讀性和可維護性是主要關心的問題。我個人比較喜歡第一個,但是在這裏工作的第二個人的工作量相當大,我想知道這兩者之間是否存在顯着差異。
*更好*究竟是什麼?效率?可讀性?鍵入的字符數?你在使用什麼特定的RDBMS? –
當然不是#3 – dnoeth