A. sql語句如何查詢成績的前三名帶成績重復的
select * from table where 成績 in (select top 3 distinct 成績 from table order by 成績 desc) order by 成績 desc
下面這個效率要高點
select * from table where 成績 >= (select min(成績) from(select top 3 distinct 成績 from table)) order by 成績 desc
B. sql怎麼取字元串的前幾位
sql語句截取字元串前幾位語句:
select substr(cont_no,1,9) from for_contract
SUBSTRING ( expression , start , length )
expression:是字元串、二進制字元串、text、image、列或包含列的表達式。不要使用包含聚合函數的表達式。
start:是一個整數,指定子串的開始位置。
length:是一個整數,指定子串的長度(要返回的字元數或位元組數)。
eg:select id from users id的值是001.002$
select substring(ID,charindex('.',ID)+1,(charindex('$',ID)-charindex('.',ID)-1)) as idx
C. SQL語句如何取前10條,10-30條記錄
常用幾種資料庫,取前10條記錄的sql語句寫法。
access:
select top (10) * from table1 where 1=1
db2:
select column from table where 1=1 fetch first 10 rows only
mysql:
select * from table1 where 1=1 limit 10
sql server:
讀取前10條:select top (10) * from table1 where 1=1
讀取後10條:select top (10) * from table1 order by id desc
oracle:
select * from table1 where rownum<=10
取10-30條的記錄:
select top 20 * from 表名 where id not in(select top 10 id from 表名)
(3)sql查找前幾名語句擴展閱讀:
使用SQL從表中取記錄。
SQL的主要功能之一是實現資料庫查詢。如果你熟悉Internet 引擎,那麼你已經熟悉查詢了。你使用查詢來取得滿足特定條件的信息。
多數Internet 引擎允許邏輯查詢。在邏輯查詢中,你可以包括特殊的運算符如AND、OR和NOT,你使用這些運算符來選擇特定的記錄。
如果需要擴展查詢的結果,可以使用邏輯操作符OR。例如,如果執行一個搜索,搜索所有的其描述中包含Active Sever Pages OR SQL的站點,收到的列表中將包括所有其描述中同時包含兩個表達式或其中任何一個表達式的站點。
如果想從搜索結果中排除特定的站點,可以使用NOT。例如,查詢「Active Sever Pages 」AND NOT 「SQL」將返回一個列表,列表中的站點包含Active Sever Pages,但不包含SQL。當必須排除特定的記錄時,可以使用NOT。
用SQL執行的查詢與用Internet搜索引擎執行的搜索非常相似。 當執行一個SQL查詢時,通過使用包括邏輯運算符的查詢條件,你可以得到一個記錄列表。此時查詢結果是來自一個或多個表。
D. 用sql語句,查詢每個班級成績排名前三名的學生姓名
1、首先在打開的SQLServer中,假設有兩條數據中,包含有【張】,但是這個張一前一後,如下圖所示。
E. sql 怎麼取 字元串的前幾位
sql中,使用LEFT函數即可取到字元串的前幾位。
LEFT(c, number_of_char)用於返回某個被請求的文本域的左側部分,其中c代表被請求的文本域,number_of_cha代表需要取出的字元串位數。如「LEFT("..com", 6)」即可取得字元串""。
(5)sql查找前幾名語句擴展閱讀:
sql中,常用函數介紹:
1、AVG():返回平均值
2、COUNT():返回行數
3、FIRST():返回第一個記錄的值
4、LAST():返回最後一個記錄的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回總和
8、UCASE():將某個欄位轉換為大寫
9、LCASE():將某個欄位轉換為小寫
10、MID():從某個文本欄位提取字元
11、LEN():返回某個文本欄位的長度
12、ROUND():對某個數值欄位進行指定小數位數的四捨五入
13、NOW():返回當前的系統日期和時間
14、FORMAT():格式化某個欄位的顯示方式
15、INSTR():返回在某個文本域中指定字元的數值位置
16、LEFT():返回某個被請求的文本域的左側部分
17、RIGHT():返回某個被請求的文本域的右側部分
F. SQL語句:十個班裡各取前五名
--創建測試數據
declare @t table(ID int,xm varchar(20),total int,banji varchar(50))
insert @t
select 1,'張一',100,'A班' union all
select 2,'張二',200,'A班' union all
select 3,'張三',300,'A班' union all
select 4,'張四',400,'A班' union all
select 5,'張五',500,'B班' union all
select 6,'張六',600,'B班' union all
select 7,'張七',700,'B班' union all
select 8,'張八',800,'B班' union all
select 9,'張九',900,'C班' union all
select 10,'張十',1000,'C班' union all
select 11,'張十一',1100,'C班' union all
select 12,'張十二',1200,'C班'
--查詢
select * from @t a
where (select count(*) from @t b where b.banji = a.banji and b.total > a.total) < 3
--這里是前三名,前五名只需把這里的<3改為<5即可
--結果
/*
ID xm total banji
---------------------------------------------
2 張二 200 A班
3 張三 300 A班
4 張四 400 A班
6 張六 600 B班
7 張七 700 B班
8 張八 800 B班
10 張十 1000 C班
11 張十一 1100 C班
12 張十二 1200 C班
*/
G. 資料庫讀取前幾條記錄的SQL語句大全
取前10條記錄的sql語句寫法:
1、access:
select top (10) * from table1 where 1=1
2、db2:
select column from table where 1=1 fetch first 10 rows only
3、mysql:
select * from table1 where 1=1 limit 10
4、sql server:
讀取前10條:select top (10) * from table1 where 1=1
讀取後10條:select top (10) * from table1 order by id desc
5、oracle:
select * from table1 where rownum<=10
(7)sql查找前幾名語句擴展閱讀
PL/SQL的流程式控制制語句,包括如下三類:
l 控制語句: IF語句
l 循環語句: LOOP語句, EXIT語句
l 順序語句: GOTO語句, NULL語句
條件語句:
IF <布爾表達式> THEN
PL/SQL 和 SQL語句
END IF;
IF <布爾表達式> THEN
PL/SQL 和 SQL語句
ELSE
其它語句
END IF;
IF <布爾表達式> THEN
PL/SQL 和 SQL語句
ELSIF < 其它布爾表達式> THEN
其它語句
ELSIF < 其它布爾表達式> THEN
其它語句
ELSE
其它語句
END IF;
H. sql 查詢欄位中的前幾個字
可以使用:substr( string, start_position, [ length ] );string:源字元串;start_position:提取的位置,字元串中第一個位置始終為1;[ length ]:提取的字元數,如果省略,substr將返回整個字元串;
針對本例舉例說明:
select * from 表名wheresubstr([D],1,2)=「10」
語句功能說明:從指定表中查詢D欄位第1、2個字元為「10的記錄」。
(8)sql查找前幾名語句擴展閱讀:
注意事項
語法:substr(string,start,length)
string參數:必選。資料庫中需要截取的欄位。
start參數:必選。
正數,從字元串指定位子開始截取;負數,從字元串結尾指定位子開始截取;0,在字元串中第一個位子開始截取。1,同理。(特殊)
length參數:可選。需要截取的長度。預設,即截取到結束位置。
注意:若必選參數為空,那返回的結果也為空。
I. SQL語句:查詢各班成績前3的同學姓名
分析如下:
可以用row_number函數來解決。
1、創建測試表,插入數據:
2、查詢每個班級的前三名,可用語句:
3、結果截圖:
拓展資料
(1)結構化查詢語言(Structured
Query
Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
(2)ql
語句就是對資料庫進行操作的一種語言。
(3)更新:update
table1
set
field1=value1
where
范圍。
(4)查找:select
*
from
table1
where
field1
like
』%value1%』
(所有包含『value1』這個模式的字元串)。
(5)排序:select
*
from
table1
order
by
field1,field2
[desc]。
(6)求和:select
sum(field1)
as
sumvalue
from
table1。
(7)平均:select
avg(field1)
as
avgvalue
from
table1。
(8)最大:select
max(field1)
as
maxvalue
from
table1。
(9)最小:select
min(field1)
as
minvalue
from
table1[separator]。
(資料來源:網路:SQL語句)
J. 如何用sql語句將銷量排名前十的商品查詢
1、創建測試表,
create table test_sale(id varchar2(20),sale_num number(10));