日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql查询各科前3_MySQL 查询各科前三的数据

發布時間:2025/4/16 数据库 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql查询各科前3_MySQL 查询各科前三的数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一:

SELECT sc.*,c.`

Cname` ,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C = a.C AND sc.score >= a.score

LEFT JOIN course c

ON sc.C = c.C

WHERE sc.C = c.C

GROUP BY

sc.C,sc.S,sc.score

HAVING COUNT(sc.C)>=4

ORDER BY a.C,a.score DESC

解析:

先copy 一個sc 表中的數據,與原sc 進行對比。統計每個score 大于其他數據的計數。再按sc.C,sc.S進行分組

SELECT sc.*,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C= a.C AND sc.score >=a.score

GROUP BY sc.C,sc.S

可以看到,第一行數據的count計數為 6,由于我們要取每科前三名,sc表中共有student S編號7個,

自身不納入count進行計數,則為6個需要取出前3--計數大于3的值。

SELECT sc.*,COUNT(sc.C)

FROM sc

LEFT JOIN sc a

ON sc.C= a.C AND sc.score >=a.score

GROUP BY

sc.C,sc.S,sc.score

HAVING COUNT(sc.C)>3ORDER BY a.C,a.score DESC

方法二:

SELECT a.* FROM

sc a

WHERE

(SELECT COUNT(*)

FROM sc

WHERE sc.C =a.C

AND a.score

ORDER BY a.C,a.score DESC

解析:

與方法一同理,復制一個表進行count計數

原文:https://www.cnblogs.com/jescs/p/12186019.html

總結

以上是生活随笔為你收集整理的mysql查询各科前3_MySQL 查询各科前三的数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。