Select
SELECT 與 GROUP BY 列?
情況是這樣的:
我有一個表,每個字母副本都有一行,其中還包含字母 ID。我想要一個查詢,輸出每個字母副本行,其中包含字母副本 ID、字母 ID 和字母 ID 的所有副本的計數……
表行
Letter Copy ID Letter ID 1 1 2 1 3 1 4 2 5 2 6 3
預期產出
Letter Copy ID Letter ID Letter Copy Count 1 1 3 2 1 3 3 1 3 4 2 2 5 2 2 6 3 1
如果您無權訪問視窗函式,則可以使用子查詢:
SELECT Letter_Copy_ID , Letter_ID , ( SELECT COUNT(1) FROM T AS T2 WHERE T1.Letter_ID = T2.Letter_ID ) AS Letter_Copy_Count FROM T AS T1
如果您有權訪問視窗函式:
SELECT Letter_Copy_ID , Letter_ID , COUNT(1) OVER (PARTITION BY Letter_ID) AS Letter_Copy_Count FROM T
您應該避免在標識符中使用空格(我在範例中使用了 _),但如果您覺得必須使用它們,可以用 " 引用它們,如 “Letter Copy Count” 中所示。請注意,這會使標識符區分大小寫,所以你必須使用準確的拼寫。