1

私はMySqlを使用しています。私はテーブルを持っています:

メール

id | user_id | date
1      2       2012/08/21
2      2       2012/08/22

通話

id | user_id | date 
 1     2       2012/08/21
 2     2       2012/08/21

ある日付のユーザーの通話とメールの合計を取得したい。例えば:

date       | SUM
2012/08/21   3
2012/08/22   1
4

2 に答える 2

3
SELECT date, COUNT(1) SUM
FROM (SELECT user_id, date FROM mails 
      UNION ALL 
      SELECT user_id, date FROM calls) t
GROUP BY date

デモ

于 2012-08-21T17:10:52.093 に答える
2

列id、user_id、およびdateが両方のテーブルで同じデータ型を持っていると仮定します。

SELECT date, count(id) as Sum FROM
(
  SELECT id, user_id, date from mails
  UNION ALL
  SELECT id, user_id, date from calls
) total
WHERE user_id = 2
GROUP BY total.date

SQLフィドルはこちら

于 2012-08-21T17:15:33.540 に答える