首页 文章

SQL计数值的实例和按最高编号排序,其中值为一年

提问于
浏览
0

我有一个SQL表如下

Year

2007年
2007年
2007年
2007年
2006年
2006年
2006年
2006年

Year的类型为VARCHAR(4),不是DATE类型 . 在年数相等的情况下(此处为4-2006,4-2007),我希望将后一年作为选定的年份 .

这是我的SQL查询: -

SELECT `Year`, COUNT(*) FROM `results` GROUP BY `Year` LIMIT 1

但是,它返回2006而不是2007.我尝试使用ORDER BY和/或同时删除GROUP BY但没有效果 .

我怎样才能做到这一点?

2 回答

  • 1

    你需要 ORDER BY . 只是为了获得最近的一年:

    SELECT `Year`, COUNT(*)
    FROM `results`
    GROUP BY `Year`
    ORDER BY `Year` DESC
    LIMIT 1;
    

    我不确定我知道你的意思是:“这里的年数相等” . 但是,我推测:

    SELECT `Year`, COUNT(*)
    FROM `results`
    GROUP BY `Year`
    ORDER BY COUNT(*) DESC, `Year` DESC
    LIMIT 1;
    
  • 0

    试试这个:你需要使用 ORDER BY DESC 获取 year 的高度数

    SELECT Year, COUNT(*) as height_number
    FROM results
    GROUP BY Year
    ORDER BY Year DESC
    LIMIT 1
    

相关问题