[SQL ] 不同表格 統計
資料庫名稱:mysql
資料庫版本:
內容/問題描述:
有兩個表格,一個是user, 一個是post
user:
id account data_order
1 AAA 2
2 BBB 1
3 CCC 3
post:
id user_id content post_time(2018-XX-XX)
1 1 ... 2018-04-25
2 2 ... 2018-04-25
3 3 ... 2018-04-27
4 1 ... 2018-04-27
5 2 ... 2018-04-27
6 1 ... 2018-04-27
7 3 ... 2018-04-27
想要統計某一天(2018-04-27)使用者的留言數量,並依照user的data_order排序
希望結果如下
account post_num
BBB 1
AAA 2
CCC 2
有幾個疑問
1.效能是寫在一句sql語法比較好,還是先依據data_order排序後,再各別統計比較好?
2.如果是寫在一句sql寫法這樣對嗎?
SELECT user.account, count(post.id) AS post_num
FROM user, post
WHERE user.id = post.user_id AND post.post_time = '2018-04-27'
GROUP BY post.user_id
ORDER BY user.data_order
3.用 LEFT JOIN 的話效能會比較好嗎?還是其實都差不多?
SELECT user.account, count(post.id) AS post_num
FROM user
LEFT JOIN user ON post.user_id = user.id
WHERE post.post_time = '2018-04-27'
ORDER BY user.data_order
先感謝各位大神了!!
--
╭═╮ ╭═╮
║▌║ ╭═══╮ ╭═══╮ ╭═╮ ╭═══╮ ╭═╮═╮
║▌║ ║╭╮▌║ ╰═╮▌║ ║▌║ ║▌╭╮║ ║▌╭═╯
║˙╰═╮ ║╰╯˙║ ╭˙╭═╯ ║˙║ ║˙╰╯║ ║˙║
╰═══╯ ╰═╰═╯ ╰═══╯ ╰═╯ ╰═══╯ ╰═╯
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.211.6
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1524822185.A.D2E.html
※ 編輯: lazior (101.12.211.6), 04/27/2018 17:43:32
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章