我有2個表,用戶和文件。
用戶擁有(id,name),
文件有(id,user_id,路徑)。
我需要爲用戶顯示錶格和每個用戶上傳文件的數量。SQL查詢從2個表中獲取數據
2
A
回答
6
使用LEFT JOIN
,GROUP BY
和COUNT
如下:
SELECT Users.name, COUNT(Files.id) AS files_count
FROM Users
LEFT JOIN Files
ON Users.id = Files.user_id
GROUP BY Users.name
1
select
u.id,u.name,count(f.id) as counting
from
users as u inner join files as f on u.id=f.user_id
group by
u.id,u.name
+2
這個答案和我的區別在於,這個不會包含沒有文件的用戶,因爲你使用INNER JOIN而不是LEFT JOIN。 – 2012-07-19 11:27:54
相關問題
- 1. SQL從2個表中獲取數據
- 2. 用於從多個表中獲取數據的SQL查詢
- 3. MySQL從SQL查詢獲取數據(phpmyAdmin)
- 4. 從2個mySQL表中獲取數據
- 5. 一個查詢從mysql中的2個表中獲取數據(使用php)
- 6. SQL查詢從表中獲取記錄
- 7. 從一個查詢中的三個表中獲取數據
- 8. 根據表1中的信息查詢從表2中獲取數據
- 9. SQL從多個表中獲取數據
- 10. 如何從1個sql查詢中的4個表中獲取數據?
- 11. SQL查詢從所有數據庫中獲取數據
- 12. 使用一個MySQL查詢從兩個表中獲取數據?
- 13. 學說 - 從一個查詢的兩個表中獲取數據
- 14. 創建一個從多個表中獲取數據的查詢
- 15. SQL查詢中獲取數據
- 16. Sequelizejs從1個查詢中獲取2個mysql表的結果
- 17. Java -SQL查詢從兩個表中提取數據?
- 18. SQL查詢從另一個表中提取數據IF NULL
- 19. SQL查詢:乘法從2個表
- 20. MySQL查詢從5個表中獲取數據?
- 21. 查詢MySQL數據庫從另一個表中獲取值
- 22. 使用動態查詢從3個表中獲取數據
- 23. LINQ查詢從多個表中獲取數據
- 24. 從兩個表中獲取數據(查詢)
- 25. 如何編寫SQL查詢以從多個表中獲取數據?
- 26. oracle sql查詢從兩個相似類型的表中獲取數據
- 27. 從表中獲取查詢
- 28. 在單個查詢中獲取兩個SQL表中的列數?
- 29. Linq查詢從ASP.NET MVC中獲取數據庫結果2
- 30. LINQ:查詢從2個表中獲取信息
謝謝。 「SELECT Users.name,(SELECT count(Files.id)FROM Files WHERE Files.user_id = Users.id)作爲Total Uploads FROM Users」看起來像它也可以工作,第二個問題將LEFT JOIN更好地使用? – 2012-07-19 11:54:55
大概差別不大。如果您希望在將來添加更多列(例如,文件總大小等),則可能會有所幫助 - 那麼LEFT JOIN會更方便。 – 2012-07-19 12:15:43