我有这个问题
SELECT COUNT(*) from `login_log` where from_unixtime(`date`) >= DATE_SUB(NOW(), INTERVAL 1 WEEK);
和同一个有 1 个差异。这不是 1 WEEK ,而是 1 MONTH 我怎样才能将这两者结合起来并将它们分配给别名?
最佳答案
我会用条件聚合来做到这一点:
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 将 bool 值视为整数,1
为“真”,0
为“假”。因此,使用 sum()
您可以计算匹配值的数量。 (在其他数据库中,您可以使用 case
做类似的事情。)
关于mysql - 合并 2 个 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25106607/