1

私は場所のテーブルを持っています:

table place:
id INT,
name VARCHAR(255)

そして、毎日の各場所への訪問をカウントするテーブル:

table place_visit:
place_id INT,
date DATE,
count INT

ここで、place.id、place.name、今日の訪問数の SUM、および全体の訪問数 (すべての日) の SUM を 1 つのステートメントでフェッチしたいと思います。

これは可能ですか?私はMySQLを使用しています。

4

2 に答える 2

3

これを試して:

SELECT p.id, p.name, SUM(IF(CURDATE() = pv.date, pv.count, 0)) todayCnt, 
       SUM(pv.count) allCnt
FROM place p 
INNER JOIN place_visit pv ON p.id = pv.place_id 
GROUP BY p.id;
于 2013-01-12T14:13:18.040 に答える
1
SELECT  a.ID,
        a.name,
        SUM(CASE WHEN date = CURDATE() THEN b.count ELSE 0 END) dayVisit,
        SUM(b.count) overAllVisit
FROM    place a
        LEFT JOIN place_visit b
            ON a.ID = b.place_id
GROUP   BY a.ID, a.name
于 2013-01-12T14:12:42.557 に答える