sql - 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
解决方案
只需使用聚合:
select car, count(*) no_cars
from mytable
where purchase_date >= '2020-06-01' and purchase_date < '2020-07-01'
group by car
推荐阅读
- regex - 正则表达式:无论顺序如何查找元素
- c# - 如何在列表中切换 2 个值
- jquery - 如何使用 jQuery 查找隐藏 div 的子元素
- javascript - 为什么要在 DefinitiveTyped 上为 Javascript 库发布 TypeScript 声明文件?
- pyspark - 在pyspark中的其他两列中的值之间创建一列
- c++ - delete-keyword 在这个 for-each 循环中是如何工作的?
- google-apps-script - TypeError:无法调用未定义的方法“insertChart”
- c++ - 如何定义可以继承的模板特定类型?
- node.js - 如何在 AdonisJS 控制器中使用 node-http-proxy
- java - 在内部存储中下载 PDF 文件