mysql查詢各班前3名成績
CREATE TABLE sc ( id INT, name VARCHAR(20), class VARCHAR(20), score INT ); INSERT INTO sc VALUES (11, 'zx', '一年1班', 68); INSERT INTO sc VALUES (12, 'zx1', '一年1班', 98); INSERT INTO sc VALUES (13, 'zx2', '一年1班', 58); INSERT INTO sc VALUES (14, 'zx3', '一年1班', 48); INSERT INTO sc VALUES (15, 'zx4', '一年2班', 88); INSERT INTO sc VALUES (16, 'zx5', '一年2班', 68); INSERT INTO sc VALUES (17, 'zx6', '一年2班', 98); INSERT INTO sc VALUES (18, 'zx7', '一年3班', 78); INSERT INTO sc VALUES (19, 'zx8', '一年2班', 58); INSERT INTO sc VALUES (20, 'zx9', '一年1班', 88); INSERT INTO sc VALUES (21, 'zx10', '一年3班', 83); INSERT INTO sc VALUES (22, 'zx11', '一年3班', 82); INSERT INTO sc VALUES (23, 'zx12', '一年3班', 81); SELECT s1.name, s1.class, s1.score FROM sc s1 WHERE ( SELECT count(1) FROM sc s2 WHERE s1.class = s2.class AND s2.score >= s1.score ) <= 3 ORDER BY s1.class, s1.score DESC;
優化:使用儲存過程或函式來分批查詢
相關推薦
用mysql查詢各班前3名成績
CREATE TABLE sc ( id INT, name VARCHAR(20), class VARCHAR(20), score INT ); INSERT INTO sc VALUES (11,
mysql查詢各班前3名成績
CREATE TABLE sc ( id INT, name VARCHAR(20), class VARCHAR(20), score INT ); INSERT INTO sc VALUES (11, 'zx', '一年1班',
mysql 查詢各數據庫的占用大小
orm ble con 占用 大小 查詢 div form lec select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),‘ MB‘) as data_size, concat(truncate
mysql 查詢 各班級中分數最高的 學生資訊
查詢: 各年級中 分數最高的學習資訊 示例表如下: create table it_student(id int primary key auto_increment, -- 主鍵idname varchar(20), -- 姓名gender enum('male',
mysql 查詢數據庫內各表的占用大小
group index 占用 truncate des 數據 length ble mysql 查 select TABLE_NAME, concat(truncate(data_length/1024/1024,2),‘ MB‘) as data_size, concat
sql查詢每個學生的最高成績mysql語句
sql查詢 感覺 and select from style logs 字段 score 張三 語文 100 張三 數學 83 李四 語文 88 李四 數學 100 查詢每個學生的最高成績. select b.* from (select name,max(s
使用SQL Server和Mysql查詢所有數據庫名、表名和字段名
ext shadow vpd mar 9.png 分享 type oss mys 一、使用sqlserver1、查詢所有的數據庫2、查詢當前數據庫的所有表名3、查詢指定表中所有字段名二、使用Mysql1、查詢所有的數據庫2、查詢當前數據庫的所有表名3、查詢指定表中所有字段名
MySql 查詢數據庫中所有表名
tables 數據 所有 columns sql 查詢 sql from ati col 查詢數據庫中所有表名select table_name from information_schema.tables where table_schema=‘數據庫名‘ and tab
PCB MS SQL 通過表名查詢各字段信息和vb.net C# module類代碼
join time efault gui minor xtend style datetime fault 正式表:各字段內容獲取 DECLARE @tabname VARCHAR(20) SET @tabname = ‘ppeflow‘ SELECT @tabna
mysql 查詢(3)
備註: 本筆記是通過看 尚矽谷 mysql視訊的筆記: 分頁查詢: 一、應用場景 當要查詢的條目數太多,一頁顯示不全 二、語法 select 查詢列表 from 表 limit 【offset,
mysql查詢計劃各欄位的含義
1.檢視執行計劃: explain + sql語句 select_type 查詢的型別,主要是用於區分普通查詢、聯合查詢、子查詢等複雜的查詢 1、SIMPLE:簡單的select查詢,查詢中不包含子查詢或者union 2、PRIMARY:查詢中包含任何複雜的子部分,最外層查詢則被標記
(1)mysql--查詢成績最高和最低的人
簡單描述: 成績表中有學生姓名、學生科目以及學生分數。查詢分數最高和分數最低的學生的以及學生的分數。注意的點如下: 1、group by,select 選擇的列,必須是group by 中的列,或者
MySQL查詢根據名欄位重複內容只顯示最新的一條
例: SELECT * FROM user_bindcard_info WHERE (id IN ( SELECT MAX(id) FROM user_bindcard_info WHERE (vip_id IN(1000000006,1000000009,654323)
查詢成績大於各門課程平均成績的所有學生的學號、課程號和成績
select Sno,Cno,Grade from SC x--從選修表中選擇學號、課程號、成績 WHERE Grade>(select avg(Grade)--選擇成績大於平均成績的 from SC y where y.Sno=x.Sno);--通過學號連線
mysql學習【第3篇】:使用DQL查詢資料
狂神宣告 : 文章均為自己的學習筆記 , 轉載一定註明出處 ; 編輯不易 , 防君子不防小人~共勉 ! mysql學習【第3篇】:使用DQL查詢資料 DQL語言 DQL( Data Query Language 資料查詢語言 ) 查詢資料庫資料 , 如SEL
【搞定MySQL資料庫】第3篇:基礎架構:一條SQL查詢語句是如何執行的?
本文為本人學習極客時間《MySQL實戰45講》的學習筆記。 原文連結:https://time.geekbang.org/column/article/68319 輸入下面一條SQL語句,我們來分析下這條語句在MySQL內部的執行過程。 mysql> select * from T
mysql查詢欄位取前3位,後3位,中間3位,去除前3位,去除後3位
擷取從第3位開始的一共8位數 SELECT SUBSTRING(payment_id,3,8) from sdb_ectools_payments 去掉字元後5位 SELECT SUBSTR(payment_id, 1, LENGTH(payment_id)-5) f
mysql 怎麼把查詢結果作為表名繼續查詢
SELECT COUNT(1) FROM (select 欄位名 from 表名1 where 條件 group by 欄位名) as 表名2; 注: 必須要給查詢的結果集設定一個表名即(表名2)否則mysql會報錯。
window10系統下使用python3.3版本實現mysql查詢
參考文件: 環境 windows10 | python3.3 方法如下:>下載安裝的指令碼https://bootstrap.pypa.io/ez_setup.py,下載該指令碼後執行 >python ez_setup.py
mysql求分組的前3名
具體思路就是,查詢出當前資料表裡,每一條資料在當前分組裡的排名。-- 效率不咋滴 誰有更好的方法-- SELECT a.* FROM ( SELECT t1.*, (