1. sql中排序後從第10個數據開始取5個數據怎麼寫
--SQL Server 2000
select top (5) *
from ( select top 15 * from 表 order by 排序列 desc ) as a
order by 排序列 desc
--SQL Server 2005,2008,2008R2,2012通用方法
select *
from (
select *,row_number() over (order by 排序列 desc) as id
from 表
) a
where id between 10 and 15
order by id
--SQL Server 2012
select * from 表 order by 排序列 desc OFFSET 10 ROW FETCH NEXT 5 ROWS ONLY
2. SQL 如何寫班級編號必須為5個數字的代碼
SQLcheck約束即可
createtabletable_name(classNointcheck(length(classNo)=5)
3. sqlserver中 已知變數@id 為5位數,請問怎麼取到@id的每一位數
declare@strvarchar(100),@avarchar(50),@bvarchar(50),@cvarchar(50),@dvarchar(50),@evarchar(50)
set@str='
set@a=left(@str,1)
set@b=substring(@str,2,1)
set@c=substring(@str,3,1)
set@d=substring(@str,4,1)
set@e=substring(@str,5,1)
print'a='+@a
print'b='+@b
print'c='+@c
print'd='+@d
print'e='+@e
這樣每個數字獲取到,可以進行後面的計算
4. 用SQL語句完成以下操作
1
select * from 學生表 a,班級表 b where a.班級編號=b.班級編號
2
select top 10 * from 班級表
3
select a.姓名,b.課程名稱,c.成績
from 學生表 a,課程表 b,成績表 c where a.學號=c.學號 and b.課程編號=c.課程編號 and a.學號='20050101'
4
select top 10 a.姓名,b.課程名稱,c.成績
from 學生表 a,課程表 b,成績表 c where a.學號=c.學號 and b.課程編號=c.課程編號 and a.學號='20050101'
order by c.成績 desc
5
select top 5 * into 科技學生信息表 from 學生表
6
select a.姓名,b.課程名稱,c.成績
from 學生表 a,課程表 b,成績表 c where a.學號=c.學號 and b.課程編號=c.課程編號
and a.學號='201001002'
and c.成績 between 80 and 90
7
select * from 課程表 where 課程名稱 like '大學%'
8
select a.姓名,a.學號,avg(b.成績) as 平均成績
from 學生表 a,成績表 b where a.學號=b.學號 group by a.姓名,a.學號
9
select a.姓名,a.學號,sum(b.成績) as 總分,count(*) as 課程門數,avg(b.成績) as 平均分
from 學生表 a,成績表 b where a.學號=b.學號 group by a.姓名,a.學號
10
select a.學號,a.姓名,b.成績,b.課程編號
from 學生表 a,成績表 b where a.學號=b.學號
希望你能通過以上的答案,自己弄懂都是什麼意思,over
5. 關於SQL資料庫自動編號取值的問題
設置一個表,表裡面記錄最後一次添加記錄的編號,用一個存儲過程,然後用這個編號加1的方法,並返回生成的記錄號,沒見過有什麼漏洞,唯一可能就是形成編號不連續,也就是生成過之後沒有用,或是已經刪除,我做測試的時候兩個客戶端分別添加10000條記錄,在1分鍾左右的時間內完成,無重號現象,我參與過的一個醫院系統就是用這種方法
6. 資料庫中班級編號怎麼表示
SQL check約束即可。
create table table_name classNo int check(length(classNo) = 5)。
該操作可以實現輸入5個數字的班級編號,如果想改變編號位置,直接修改數字即可。
7. sql隨機生成5位數編號函數、存儲過程
CREATE FUNCTION `rand_string`(n INT) RETURNS varchar(255) CHARSET latin1
BEGIN
DECLARE chars_str varchar(100) DEFAULT '';
DECLARE return_str varchar(255) DEFAULT '' ;
DECLARE i INT DEFAULT 0;
WHILE i < n DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END
8. sql 語句一個欄位有5位數字,我想自己後三位數字有兩個相同的,怎麼查詢
是要查出後三位中有兩個數字相同的該欄位是吧?
select 目標欄位
from tablename
where substring('目標欄位',3,1)=substring('目標欄位',4,1) or
substring('目標欄位',3,1)=substring('目標欄位',5,1) or
substring('目標欄位',4,1)=substring('目標欄位',5,1) or
這種方法查出來的欄位可能包括後三位都相同的情況,樓主可以自己再加條件,主要思路就是這樣
9. SQL語句中,編碼欄位中有12345、12346、12347、35468、5646578、4654987498......我想帥選中5位數字的編碼
select 編碼欄位名 from table where 編碼欄位名 like'%[0-9]%'and len(編碼欄位名)=5 and 編碼欄位名 not like'%[a-z]%'
10. SQL的問題:資料庫中已經有Student表,假設學號的5個數字中,前兩位代表年級,後三位為序號
select * from Student order by 學號 desc
這個不用用到substring,題目根據就沒有需要用到substring的地方啊。