資料庫sql查詢語句,關於班級資訊,如下 學生名字,編號,班級,成績,把每個班級最大成績前20名,列出來

2021-07-13 09:11:55 字數 5949 閱讀 9194

1樓:張琳玲兒

若為oracle資料庫,則使用rownom來進行查詢select * from

(select * from 班級資訊

order by 成績 desc

)where rownom<=20

;-------推薦答案oracle資料庫那個sql語句有問題,查出來的還是表裡面前20條資料,只是把這20條資料給降序排列了,而不是最大成績的前20.

--------------------------------------

若為sqlserver,則為

select top 20 成績

from 班級資訊

order by 成績 desc;

2樓:

不知道你是什麼資料庫

如果是sqlserver呢,就用top:

select top 20

成績from 表 order by

成績 desc

如果是oracle呢,就用rownum:

select 成績 from 表 where rownum <=20 order by 成績 desc

3樓:匿名使用者

select top 20

學生名字,編號,班級,成績

from 表

order by 成績 desc

4樓:

select 20 * from 表 order by 降序 成績

怎樣用sql語句表示:查詢每個班級的學生人數

5樓:足壇風行者

查詢每個班級的bai學生人數

du的sql語句是:

select class_name,count(1) from table_name group by class;

其中class_name,count(1)為查出的班級zhi名和對應的人dao數,table_name為學回生表名稱,group by是將class分組。

擴充套件資

答料

sql語句中group by 語句用法介紹:

group by 語句用於結合聚合函式,根據一個或多個列對結果集進行分組。語法格式為:

select column_name, aggregate_function(column_name)

from table_name

group by column_name;

例如有以下表:

例項:select site_id, sum(access_log.count) as nums from access_log group by site_id;

執行以上 sql 輸出結果如下:

注意點:在select指定的欄位要麼就要包含在group by語句的後面,作為分組的依據;要麼就要被包含在聚合函式中。

6樓:用著追她

1、查詢表的指定列

copy,select 列名稱

from 表名稱。

2、查詢表的所有列,select * from 表名稱。

3、按條件查詢,select * from 表名稱 where 列=值。

4、多條件查詢,select * from 表名稱 where 列1=值1 and 列2=值2。

5、查詢年齡為100的學生名字,select `name` from student where age = 100 。

6、查詢趙六的年齡,select age from student where `name` = '趙六'。

7樓:匿名使用者

select 班級號,count(*) from 學生表 group by 班級號

不知道您的表是什麼樣的

8樓:匿名使用者

select 班級,count(1) as 人數 from 學生表 group by 班級

9樓:匿名使用者

例如來用源oracle資料庫

create table student(stuid number not null primary key,stuname varchar2(20) not null,stu*** char(2) not null,stuage number not null,classid number --班級編號) select count(*) from student group by classid

10樓:安徽新華電腦專修學院

school_name 學校名字抄

,襲major_name專業名字,majorcount專業數量,table_name表名

select school_name,major_name,count(majoy_name) as majorcount from table_name

group by school_name,major_name

sql語句中怎樣查詢學生表中所有有著相同的名字的人的資訊

11樓:李乾銀

示例(以復sql server為例):

select * from 學生表制

where name='名字

bai'

解釋:name就是學生名du字欄位

zhi,「名字」就是要dao查詢的相同名字。第一句查詢學生表的所有資訊,第二句給查詢限定條件即可。

sql即結構化查詢語言(structured query language),是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。sql語句無論是種類還是數量都是繁多的,很多語句也是經常要用到的,sql查詢語句就是一個典型的例子,無論是高階查詢還是低階查詢,sql查詢語句的需求是最頻繁的。

12樓:青邪

如果每個學生只有一條記錄的話,按姓名

分組,統計記錄條數(大於1),再這些有相同姓專名條數的人的姓名作為條件屬,檢索出相應資訊語句如下:

select *

from 學生表

where 姓名 in

(selecct 姓名

from 學生表

group by 姓名

sql 語句是對資料庫進行操作的一種語言。

結構化查詢語言(structured query language)簡稱sql,結構化查詢語言是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統。

13樓:匿名使用者

請詳細指明什麼資料庫,mysql?oracle?sqlserver?不同的資料庫,sql語句有些差異的

14樓:匿名使用者

select * from student where name="***"

用sql語句,查詢每個班級成績排名前三名的學生姓名

15樓:翔阿狗

思路是先分組後按成績排序

16樓:匿名使用者

你的資料結構是怎麼樣的呢?

是否已經計算了總分

假設已經計算了總分

前三名所有記錄 列可以自定義 (列出前3名成績總分 3種主流資料庫寫法)

sqlserver資料庫:

select top 3 from 成績表 order by 總分 desc

mysql資料庫:

select * from 成績表 order by desc 總分 desc limit 3

oracle資料庫:

select * from 成績表 order by desc 總分 rownum <= 3

如果說沒有給出總分

需要先計算總分

select (語文+數學+。。。)as total top 3 from 成績表 order by total desc

然後其他資料庫自己靈活運用你自己所使用的資料庫的上述方法

17樓:匿名使用者

select top 3 * from 成績 group by 班級 order by 成績

sql 如何查詢每個班級中的最高分

18樓:宜都書童

具體**如下:

select 班級名稱,分數=max(成績)from

學生表 s join 班級表 c

on s.班級號=c.班級號

join 成績表 sc

on s.學號=sc.學號

group by 班級名稱

擴充套件資料:sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同欄位。

最常見的 join 型別:sql inner join(簡單的 join)。 sql inner join 從多個表中返回滿足 join 條件的所有行。

不同的 sql join,您可以使用的不同的 sql join 型別:

inner join:如果表中有至少一個匹配,則返回行left join:即使右表中沒有匹配,也從左表返回所有的行right join:

即使左表中沒有匹配,也從右表返回所有的行full join:只要其中一個表中存在匹配,則返回行

19樓:匿名使用者

可以通過班級進行分組,分組函式「group by 」,可以通過max函式獲取到某列的最大值。

sql:select class ,max(score) from tablename group by class;

解釋:上面語句的意思就是說通過班級分組後,查詢出所有的班級和班級中的最高分

在access中怎麼寫sql查詢語句,select查詢出一個有不同班級同學成績(很多班級)的表中,

20樓:匿名使用者

由於sql語言處理問題的方式是面向記錄"集合"的。解決排名這類問題對於sql來說確實頭疼,分組排名就更不用說了! 為了解決排名問題大型資料庫系統為使用者提供了rank、rownumber等函式,但是access不支援排名、開窗等這類函式,一般建議用程式設計方式解決,例如vba等。

這個問題確實不好回答。看到樓主就同一問題已經提問幾次了,今天嘗試用sql解決如下,供參考

首先假設資料結構如下:

students(sid,name,class)

scores(sid,score)

學生表與分數表基於sid建立一對多參照完整性

檢索出所有班級與每個學生的學號、姓名、分數按班級、得分排序

select a.class,b.sid,a.name,b.score from

students a,scores b where a.sid=b.sid

order by a.class,b.score desc;

檢索出每個班級前三名的學生學號、姓名和得分,按班級升序、得分降序排名

實現sql**

select a.class,a.sid,a.name,a.score from

(select a.class,a.name,b.

sid,b.score from students a,scores b where a.sid=b.

sid)a where a.score in(

select top 3 b.score from (select distinct class,score from scores)b

where b.class=a.class  order by b.score desc

) order by a.class,a.score desc;

執行結果

從上述**來看實現這樣的效果已經很麻煩,至於學生班名次,access只能藉助程式設計手段了。

資料庫查詢,SQL語句 查詢 統計

1全部可以在查詢分析器裡開啟相應資料庫 要輸使用者名稱,密碼 在查詢對話方塊輸入 select from 表名 你所說的某個表的表名 where 欄位 列名 12345 按f5就行了 tablename 你要查詢的資料表的名字 cellname 存放12345資料的列名1.如果是必須含有和12345...

sql語句,access資料庫,表相關查詢排序。。如圖所示

select from news where classid 1 order by id asc 你classid的欄位型別不是數字型 您好,在查詢設計器裡,將兩個表新增進來,點中其中一個表你要將它們關聯的欄位,拉到另一個表的相應欄位上去,然後在形成的線上雙擊,出來對話方塊,在裡面選擇關聯貫關係。語...

SQL資料庫中,模糊查詢的語句怎麼寫

select from abc like 1 你根本就沒有寫在哪個列裡查呀,肯定列名無效咯。select from abc where like 1 正確的應該是 select from 表名 where 欄位 like 1 c 模糊查詢sql語句怎麼寫?假設有表名稱 tb student 欄位 i...