1

我有一张地方表:

table place:
id INT,
name VARCHAR(255)

和一张表格来计算每天到每个地方的访问量:

table place_visit:
place_id INT,
date DATE,
count INT

现在我想在一个语句中获取:place.id、place.name、今天访问次数的总和和总访问次数的总和(从所有天数)。

这可能吗?我正在使用 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 回答