SELECT DATE('2023-05-18') AS date, COUNT(*) AS count FROM worker_visit_record WHERE '2023-05-18' >= DATE( NOW()) - INTERVAL 1 DAYAND '2023-05-18' < DATE( NOW()) + INTERVAL 1 DAYGROUP BY DATE( '2023-05-18' );报错
时间: 2023-12-20 11:05:27 浏览: 62
IDL-IDLBridge.rar_IDL bridge_IDL-IDLBridge_idl bridge_idl 并行_ra
根据你提供的 SQL 语句,我看到其中存在两个问题:
1. 在 `GROUP BY` 子句中,你使用了一个常量 `'2023-05-18'`,而不是你想要分组的日期字段。这将导致 SQL 引擎无法正确地按日期分组。你可以将 `GROUP BY` 子句中的 `'2023-05-18'` 替换为 `DATE(worker_visit_record.date)` (注意 `worker_visit_record` 是你的表名)。
2. 在 `WHERE` 子句中,你使用了 `DATE(NOW())` 来获取当前日期。但是,由于你的查询中指定了一个特定的日期 `'2023-05-18'`,因此应该将 `DATE(NOW())` 替换为 `'2023-05-18'`。这样,你的查询将只返回 `'2023-05-18'` 这一天的访问记录计数。
因此,你可以尝试以下 SQL 语句:
```
SELECT DATE(worker_visit_record.date) AS date, COUNT(*) AS count
FROM worker_visit_record
WHERE worker_visit_record.date >= DATE('2023-05-18') - INTERVAL 1 DAY
AND worker_visit_record.date < DATE('2023-05-18') + INTERVAL 1 DAY
GROUP BY DATE(worker_visit_record.date);
```
希望能够帮到你!
阅读全文