mysql根据不同时间条件统计不同的数量,用一条sql实现,且只查询一次
时间: 2024-03-13 09:46:50 浏览: 54
利用MySQL统计一列中不同值的数量方法示例
可以使用条件聚合函数来实现。具体操作如下:
假设有一个表 order_info,其中包含订单信息和时间字段 create_time,需要根据不同时间条件统计不同的订单数量。
可以使用如下 SQL 语句:
```
SELECT
COUNT(CASE WHEN create_time >= '2021-01-01' AND create_time < '2022-01-01' THEN 1 END) AS count_2021,
COUNT(CASE WHEN create_time >= '2022-01-01' AND create_time < '2023-01-01' THEN 1 END) AS count_2022,
COUNT(CASE WHEN create_time >= '2023-01-01' AND create_time < '2024-01-01' THEN 1 END) AS count_2023
FROM order_info
```
以上 SQL 语句中,使用了三个条件聚合函数 COUNT(CASE WHEN...),分别统计了 2021 年、2022 年、2023 年的订单数量,并将结果命名为 count_2021、count_2022、count_2023。最后只查询了一次 order_info 表,实现了一次 SQL 查询统计不同时间条件的数量。
阅读全文