0

よし、テーブルが2つあるぞ

最初の 1 つが呼び出されmsg、もう 1つが呼び出されますmsg_t

msg(id、send_type、..) msg_t(id、msg_id、send_time)

私がやろうとしているのはmsg、 send_type = 1 のすべての行を取得することです

そして、それぞれのエントリを数え、月msg_tごとmsgにグループ化します

どうやってやるの?

4

2 に答える 2

1
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.IDmsg_t

于 2013-01-21T12:47:15.670 に答える
1
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)
于 2013-01-21T12:47:27.237 に答える