我有以下疑问.我需要2003年至2022年的型号,每组3年

SELECT
COUNT(VEHICLE_FW.MODEL_YEAR_FW) AS COUNT_VEHICLES,
VEHICLES_FW.MODEL_YEAR_FW AS MODEL_YR
FROM
FWUSER.VEHICLES_FW
WHERE
VEHICLES_FW.ARCHIVE_STATUS_FW - 'N'
AND ( (MODEL_YEAR_FW) >2003)
GROUP BY
VEHICLE_FW.MODEL_YEAR_FW
ORDER BY
VEHICLES_FW.MODEL_YEAR_FW

谁来帮帮我

推荐答案

您可以按如下方式使用DENSE_RANK()解析函数:

WITH RANKS AS
(
  SELECT MODEL_YEAR_FW, ARCHIVE_STATUS_FW,
         CEILING(DENSE_RANK() OVER (ORDER BY MODEL_YEAR_FW)/3) GRP
  FROM VEHICLES_FW
  WHERE ARCHIVE_STATUS_FW = 'N'AND MODEL_YEAR_FW >2003
)
SELECT CONCAT(MIN(MODEL_YEAR_FW), '-', MAX(MODEL_YEAR_FW)) AS MODEL_YR,
       COUNT(MODEL_YEAR_FW) AS COUNT_VEHICLES
FROM RANKS
GROUP BY GRP
ORDER BY GRP

请看demo.

Mysql相关问答推荐

如何重新采样SQL数据库

查找关联数据库表的超集

同一类型对象之间的多对多关系

将 GORM 与自定义连接表和外键结合使用

列出每年最多产的三位作家

根据 JOIN 结果计算列中的值?

MySQL函数 - 如何对select查询应用多个条件

最后一个字母 '%n' 的 mysql SELECT 字符串不起作用

为什么order by子句可以利用索引?

从多到多表中 Select 数据而无需重复

如何获取从开始时间到结束时间的所有正在运行的作业(job)的总和?

进行 MySQL COUNT 查询

查询给出错误时的 mySQL Group_Concat 和 Case

是否可以从 .SQL 文件中计算表中的行数?

Laravel $q->where() 日期之间

最好的 MySQL 性能调优工具?

PHP 判断 NULL

从mysql中的大表中快速 Select 随机行

MySQL 在每个唯一值第一次出现时 Select 行

将行插入 MySQL 数据库的最有效方法