gpt4 book ai didi

Mysql 计数不适用于 curdate

转载 作者:行者123 更新时间:2023-11-30 21:47:58 26 4
gpt4 key购买 nike

我编写了一个查询来计算客户的 PPPOE 中断次数。它在这种情况下工作得很好——在输出文件中我可以看到客户的名字以及他的 PPPOE 连接断开的次数:

   select
username,
count(username) as db,
DATE_FORMAT(acctstarttime, '%Y-%m-%d')
from radius_db.radacct
where DATE_FORMAT(acctstarttime, '%Y-%m-%d') = '2018-01-02'
group by username
order by db desc;

我试图让它自动进行,所以我修改了 WHERE 语句,但在这种情况下,在输出中我只能看到 PPPOE 只被丢弃一次的客户,而其他客户则没有。

    select
username,
count(username) as db,
DATE_FORMAT(acctstarttime, '%Y-%m-%d')
from radius_db.radacct
where DATE_FORMAT(acctstarttime, '%Y-%m-%d') = date_format(curdate(),'%Y-%m-%d')
group by username
order by db desc into outfile '/var/lib/mysql-files/pppoe-"
, DATE_FORMAT( NOW(), '%Y%m%d%m%s')
, ".txt'";

最佳答案

假设您的 acctstarttime 列是日期时间列,您可以按 date() 和 curdate() 进行过滤

 select
username,
count(username) as db,
DATE_FORMAT(acctstarttime, '%Y-%m-%d')
from radius_db.radacct
where DATE(acctstarttime) =curdate()
group by username
order by db desc into outfile '/var/lib/mysql-files/pppoe-"
, DATE_FORMAT( NOW(), '%Y%m%d%m%s')
, ".txt'";

小心 .. 因为 DATE_FORMAT(acctstarttime, '%Y-%m-%d') = '2018-01-02' 意味着 2018 年 1 月 2 日而不是 2018 年 2 月 1 日作为 curdate()

关于Mysql 计数不适用于 curdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48562480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com