zoukankan      html  css  js  c++  java
  • 【mysql】排序方法

    查询各科成绩前三名的记录,不考虑并列的情况;


    select
    a.course_id as 课程ID,
    a.score as 成绩,
    count(a.course_id) as 排名
    from score a left join score b on a.course_id=b.course_id and a.score<=b.score
    group by a.course_id,a.score
    having count(a.course_id)<4
    order by a.course_id,a.score desc;

    其中排序方法就是通过同表比对, count(a.course_id) 实际上是统计同一表中有多少个低于(高于)该行分数的行,进而转化为该行的实际排名

  • 相关阅读:
    hdu1507
    zoj1654
    hdu2444
    poj3692
    hdu1150
    hdu1151
    poj2771
    hdu3829
    hdu4619
    hdu4715
  • 原文地址:https://www.cnblogs.com/caya-yuan/p/9306840.html
Copyright © 2011-2022 走看看