我是新來的postgresql。我有一個數據庫中有三個表:用戶,訂單,評論。這三個表看起來像這樣POSTGRESQL中的每個用戶獲得每個用戶的計數
Orders Comments
------ --------
ID ID
UserID UserID
Description Details
CreatedOn CreatedOn
我試圖讓我的所有用戶,有多少訂單每個用戶取得了多少評論的每用戶作出的列表。換句話說,查詢的結果應該是這樣的:
UserID Orders Comments
------ ------ --------
1 5 7
2 2 9
3 0 0
...
目前,我嘗試以下:
SELECT
UserID,
(SELECT COUNT(ID) FROM Orders WHERE UserID=ID) AS Orders,
(SELECT COUNT(ID) FROM Comments WHERE UserID=ID) AS Comments
FROM
Orders o,
Comments c
WHERE
o.UserID = c.UserID
這是做這種類型的查詢的正確方法嗎?還是有人可以從性能角度提供更好的方法?
'GROUP BY'和'JOIN's。 –
我剛剛更新了我的表格。在這種情況下,我不確定如何最好地使用GROUP BY。 – user3284007