我有一张地方表:
table place:
id INT,
name VARCHAR(255)
和一张表格来计算每天到每个地方的访问量:
table place_visit:
place_id INT,
date DATE,
count INT
现在我想在一个语句中获取:place.id、place.name、今天访问次数的总和和总访问次数的总和(从所有天数)。
这可能吗?我正在使用 MySQL。
试试这个:
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;
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