我有这个查询
SELECT COUNT(*) from `login_log` where from_unixtime(`date`) >= DATE_SUB(NOW(), INTERVAL 1 WEEK);
和同一个1差异。不是 1周 ,而是 1个月 ,我该如何合并这两个并将它们分配给别名?
我将使用条件聚合来做到这一点:
SELECT SUM(from_unixtime(`date`) >= DATE_SUB(NOW(), INTERVAL 1 WEEK)), SUM(from_unixtime(`date`) >= DATE_SUB(NOW(), INTERVAL 1 MONTH)) FROM `login_log`;
MySQL将布尔值视为整数,1即为“ true”和0“ false”。因此,使用sum()可以计算匹配值的数量。(在其他数据库中,您将使用进行类似的操作case。)
1
0
sum()
case