phpmyadmin 今日报告案例查询php总数

ehxuflar  于 2022-11-09  发布在  PHP
关注(0)|答案(3)|浏览(129)

我有这个查询,但它只适用于日期类型。但我的列类型是DATETIME。我如何才能改变这个查询,以工作在DATETIME类型?我需要得到今天的报告案例的输出。

SELECT COUNT(report_id) ASs total_today_case
FROM report
WHERE report_detection_date = CURRENT_DATE();

jm2pwxwz

jm2pwxwz1#

您是否希望对表/视图中满足特定条件的项进行计数?如果是这样,我认为数据库结构并不重要。我们需要了解您需要计数的内容和字段名称。然后,这将是一个简单的SELECT DISTINCT COUNT(*) FROM table_abc WHERE condition情况。

ovfsdjhp

ovfsdjhp2#

您可能需要设置report_detection_date的格式:

SELECT COUNT(report_id) as total_today_case
FROM report
WHERE DATE_FORMAT(report_detection_date, "%Y-%m-%d") = CURRENT_DATE();
2w2cym1i

2w2cym1i3#

其中,报告检测日期=当前日期();
您正在比较apples and oranges。CURRENT_DATE()的时间值为“00:00:00”(午夜)。因此,它永远不等于日期 * 和 * 时间值,* 午夜 * 除外
| 栏值|当前日期(_D)()|是否相等?|
| - -|- -|- -|
| 2022年03月08日00:00:00| 2022年03月08日00:00:00|是的|
| 2022年3月8日08:12:14| 2022年03月08日00:00:00|否|
| 2022年3月8日14时15分22秒|2022年03月08日00:00:00|否|
| 2022年3月8日18时15分22秒|2022年03月08日00:00:00|否|
| 2022年3月8日23时15分22秒|2022年03月08日00:00:00|否|
| 2022年3月8日23时59分59秒|2022年03月08日00:00:00|否|
若要保留查询sargable,查询日期时间字段的较佳方式是:

WHERE ColumnName >= {TodaysDateAtMidnight}
 AND   ColumnName < {TomorrowsDateAtMidnight}

..或更具体地说

WHERE ColumnName >= CURRENT_DATE() 
 AND   ColumnName < Date_Add(CURRENT_DATE(), interval 1 DAY)

相关问题