首页 > 解决方案 > SQL查询计算一段时间内的记录

问题描述

我使用 SQLITE(使用 C#),我有一个这样的表:

Car     PurchaseDate
Ford    2020-07-01
Audi    2020-07-31
Porsche 2020-07-31
Ford    2020-07-28
Audi    2020-07-30
Ford    2020-06-21
Ford    2020-06-21
Audi    2020-06-22
Ford    2020-06-21
Audi    2020-06-22
Porsche 2020-06-22
Ford    2020-08-01
Audi    2020-08-01
Porsche 2020-08-10

我需要一个 SQL 查询,它可以为我提供给定时间段内每辆车的计数。(PurchaseDate 的类型是 varchar 而不是日期时间)

以上述数据为例:Timeperiod\PurchaseDate: 2020-06-01 - 2020-06-31

结果应该是:

Ford    3
Audi    2
Porsche 1

标签: sqlsqlitecountwhere-clause

解决方案


只需使用聚合:

select car, count(*) no_cars
from mytable
where purchase_date >= '2020-06-01' and purchase_date < '2020-07-01'
group by car

推荐阅读