gpt4 book ai didi

PHP mysql 查询不计0000-00-00

转载 作者:行者123 更新时间:2023-11-29 10:08:26 24 4
gpt4 key购买 nike

我需要计算 4 个日期,第一个日期需要等于 $_POST,其他 3 个日期不应将 0000-00-00 算作日期。

我尝试了这个查询:

$sql_list = "SELECT Agent,count(datum_obrade) as obrada, 
count(datum_kontakta) as kontakti,
count(datum_vracanja) as zadrzani,
count(datum_terminacije) as terminacija from wb_base WHERE datum_obrade = '".$_POST["From"]."'
group by Agent";

问题是 count() 会将 0000-00-00 算作日期(我的列是 PHPMyAdmin 设置为 DATE)我注意到,如果我在数据库中手动将日期设置为 NULL ,查询将不会计算它,但问题是我的 jquery 日期选择器不会将 NULL 返回到数据库(如果是)空的。我也问过这个问题here

那么如何设置此查询来计算所有非 0000-00-00 的日期。如果我在 WHERE 之后添加 AND,则查询需要匹配 3 个条件。另外,如果我使用OR,它仍然会计数错误。

最佳答案

试试这个

sql_list = "SELECT Agent,count(datum_obrade) as obrada, 
count(case when datum_kontakta>0 then 1 end) as kontakti,
count(case when datum_vracanja>0 then 1 end) as zadrzani,
count(case when datum_terminacije>0 then 1 end) as terminacija from wb_base WHERE datum_obrade = '".$_POST["From"]."'
group by Agent";

case 子句过滤掉所有非 >0 的条目。在这些情况下,null 值将被发送到 count() 函数,该函数将计分。因此,最终只计算“有效”日期。

关于PHP mysql 查询不计0000-00-00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51450774/

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