[英]Two different groupping in one SQL statement
我有一张地方表:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.