重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
要求查找到學校不同年級中每個年級的最高分人員信息,并列第一的學生信息都要查詢出來
成都創新互聯是一家網站設計公司,集創意、互聯網應用、軟件技術為一體的創意網站建設服務商,主營產品:成都響應式網站建設公司、成都品牌網站建設、營銷型網站建設。我們專注企業品牌在網站中的整體樹立,網絡互動的體驗,以及在手機等移動端的優質呈現。成都網站建設、網站制作、移動互聯產品、網絡運營、VI設計、云產品.運維為核心業務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網站的價值服務。
首先準備數據
分析:可以使用group by 對班級進行分組,再使用max函數找出每個年級的最高分數,所以可以這樣寫
執行上面的語句可以得到如下結果
可以看出這樣已經查詢出每個年級對應的最高分,那根據這2個條件,再去表里查詢對應年級和分數的學生信息即可
這樣執行出來的結果就可以找到每個年級最高分的學生信息,同時并列第一的學生也可以查詢到,結果如下
注意:查詢列中的字段如果不是group by的字段,那么需要對該字段使用聚合函數,所以這里使用max()找出最大值,而student字段是沒法使用的,否則查詢出來的就是多個,所以需要使用子查詢
查看第一條:
SELECT
group_concat(id ORDER BY `create_time` DESC)
FROM
`user`
GROUP BY
user_code
select top 1 * from book 不對,因為mysql里沒有top這種寫法,它用limit。
擴展資料:
1、查看最后一條
mysql:
select * from table order by id DESC limit 1
oracle:
select * from emp where id in (select max(id) from emp);
2、查詢前n行記錄
select * from table1 limit 0,n;或select * from table1 limit n;
3、查詢后n行記錄
select * from table1 order by id desc dlimit n;//倒序排序,取前n行,id為自增形式
SELECT
obj.user_id,obj.score,@rownum := @rownum + 1 AS rownum
FROM
(
SELECT
user_id,
score
FROM
`sql_rank`
ORDER BY
score DESC
) AS obj,
(SELECT @rownum := 0) r
執行的結果如下圖:
工具/材料:Management Studio。
1、首先在桌面上,點擊“Management Studio”圖標。
2、然后在該界面中,點擊“新建查詢”按鈕。
3、之后在該界面中,查詢第一行的SQL語句“select top 1 * from myAudit;”。
4、接著在該界面中,點擊“執行”按鈕。
5、最后在該界面中,結果窗口里顯示數據表的第一行數據。