我有一个数据库,在其中我保存了很多网站的所有日常访问,日表的字段是名称,name和日期
我想将前天的访问和昨天的访问进行比较,所以显示的结果应该是3行。姓名,前天和昨天
我尝试过这个查询,但它在两行中显示了所有内容。
SELECT *
FROM (
SELECT name as nombre, nvisit as anteayer
from day
WHERE date < CURDATE() -1 and date > CURDATE() -2
UNION ALL
SELECT name as nombre, nvisit as ayer
from day
where date < CURDATE() and date > CURDATE() -1
GROUP by name
)
day我能做些什么来解决这个问题?
当执行该句子时,结果是:
|name |beforeyesterday|
|.............|...............|
|example1.com |2154 |
|example1.com |3215 |
|example2.com |1524 |
|example2.com |2546 |我需要的是:
|name |beforeyesterday|yesterday|
|.............|...............|.........|
|example1.com |2154 |3215 |
|example2.com |1524 |2546 |发布于 2020-12-27 05:27:34
我希望每个name都有一个单独的行,其中包含不同日期的计数列:
select name,
sum(case when date < curdate() and date > curdate - interval 1 day
then nvisit
end) as yesterday,
sum(case when date < curdate() - interval 1 day and date > curdate - interval 2 day
then nvisit
end) as day_before
from day
group by name;https://stackoverflow.com/questions/65460823
复制相似问题