よし、テーブルが2つあるぞ
最初の 1 つが呼び出されmsg
、もう 1つが呼び出されますmsg_t
msg
(id、send_type、..)
msg_t
(id、msg_id、send_time)
私がやろうとしているのはmsg
、 send_type = 1 のすべての行を取得することです
そして、それぞれのエントリを数え、月msg_t
ごとmsg
にグループ化します
どうやってやるの?
SELECT a.ID, MONTHNAME(b.send_time), COUNT(b.msg_id) totalCount
FROM msg a
LEFT JOIN msg_t b
ON a.ID = b.msg_id
WHERE a.send_type = 1
GROUP BY a.ID, MONTH(b.send_time)
を使用すると、テーブルにレコードがないLEFT JOIN
場合はゼロの値が表示されますmsg.ID
msg_t
SELECT
m.id,
MONTH(send_time)
COUNT(t.*)
FROM msg m
INNER JOIN msg_t t ON m.id = t.msg_id
WHERE m.send_type = 1
GROUP BY m.id,
MONTH(send_time)