查询各个科目成绩前三的记录
生活随笔
收集整理的這篇文章主要介紹了
查询各个科目成绩前三的记录
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| 1 | 2005001 | 張三 | 1 | 數(shù)學 | 69 |
| 2 | 2005002 | 李四 | 1 | 數(shù)學 | 89 |
| 3 | 2005005 | 王五 | 1 | 數(shù)學 | 23 |
| 3 | 2005001 | 張三 | 2 | 語文 | 69 |
| 3 | 2005002 | 李四 | 2 | 語文 | 73 |
| 3 | 2005005 | 王五 | 2 | 語文 | 88 |
| 1 | 2005006 | 趙六 | 2 | 語文 | 69 |
| 2 | 2005006 | 趙六 | 1 | 數(shù)學 | 89 |
| 3 | 2005007 | 鄭七 | 2 | 語文 | 100 |
1. 用一條 SQL 語句查詢出每門課都大于 80 分的學生姓名
理解:分數(shù)最小的那門課大于80,自然每門課都大于80了。
SELECT `name` FROM `test` GROUP BY `name` HAVING min(`score`) >= 80; 復制代碼2. 查詢各個科目成績前三的記錄
思路:查出該科成績超過他的人數(shù)小于3的學生,再進行排列
SELECT `student_id`, `name`, `course_id`, `course_name`, `score` FROM `test` `t1` WHERE (SELECT count(1) FROM `test` `t2`WHERE `t1`.`course_id` = `t2`.`course_id`AND `t1`.`score` < `t2`.`score` ) < 3 ORDER BY `course_id`, `score` DESC; 復制代碼轉(zhuǎn)載于:https://juejin.im/post/5d09e9046fb9a07f021a0499
總結(jié)
以上是生活随笔為你收集整理的查询各个科目成绩前三的记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python suds error “'
- 下一篇: 区块链的安全和智能合约