㈠ 如何用sql自動生成序號和分序號
需要用row_number來給分組添加序號。
1、創建測試表,插入數據:
createtabletest(sidint,snamevarchar(20),sclassvarchar(20),scoreint);insertintotestvalues(1,'張三','一年一班',100)insertintotestvalues(2,'李四','一年一班',78)insertintotestvalues(3,'王五','一年一班',67)insertintotestvalues(4,'趙六','一年一班',87)insertintotestvalues(5,'badkano','一年二班',98)insertintotestvalues(6,'網路知道團長','一年二班',99)insertintotestvalues(7,'小小動','一年二班',99)insertintotestvalues(8,'劉備','一年三班',56)insertintotestvalues(9,'張飛','一年三班',67)insertintotestvalues(10,'關羽','一年三班',76)2、要求按照班級總分給出班級排名(即序號),執行語句:
selectrow_number()over(orderbyscoredesc)排名,sclass班級,score總分from(selectsclass,SUM(score)scorefromtestgroupbysclass)t3、查詢結果:
㈡ SQL中取序號的問題
這樣不就行嗎
創建測試表及插入數據
createtablea
(顧客idint,
消費idint,
消費金額int);
insertintoavalues(1,1,100);
insertintoavalues(1,2,20);
insertintoavalues(1,3,300);
insertintoavalues(1,4,40);
執行
set@r=0;
select@r:=@r+1,a.*
fromA
where顧客id=1;
結果
其中第一列就是消費次數
㈢ sql語言別寫 如何實現只輸入 首尾序號 可以自動列出中間序號 比如輸入 1 10 會出現 1,2,3,4,5,6,7,8,9,10
函數: CREATE FUNCTION getvalue(@beginnum int,@endnum int,@value NVARCHAR(1000)) RETURNS NVARCHAR(1000) AS BEGIN WHILE @beginnum<=@endnum begin if @value is null or @value='' begin select @value = @value + cast(@beginnum as nvarchar) end else begin SELECT @Value=@value +','+cast(@beginnum as nvarchar) end set @beginnum = @beginnum+1 end RETURN @Value END 執行函數: select dbo.getvalue(1,10,'')
滿意請採納
㈣ 討論:SQL獲取行序號
select *,
(select count(*) from tablename where id<= A.id and group = a.group) as groupid
from tablename A
㈤ SQL中序號連續的問題
你想要連續只能把這個表刪了,再建一個了,遞增就是這樣,只要一條記錄有了,ID有就了,沒了ID就沒了。就這樣,不管你刪多少記錄,再加還是接著遞增的。
㈥ 問一個sql查詢,如何給查詢結果加上序號
SQL Server 下
1、SELECTROW_NUMBER()OVER(ORDERBYID)ROWNU,A1FROMTA1
解說:在這里,TA1是一個表,A1是表中的一個欄位,表的另一個欄位為ID本用於自增這兒用來排序。
SQL Server 中的ROW_NUMBER() 得到一個查詢出的順序,但這個函數要求給出一個查的排序方案,因為SQL Server的存儲是無關順序的。
在Oracle里,本就有rownum。可直接用:
1、SELECTrownum,A1FROMTA1
其它的資料庫可能有別的方案,不一而論。
㈦ 函數編寫 SQL 如何給記錄加序號
有五種方法:
一、需要用臨時表來實現
select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
select * from #temp
Drop Table #temp
二、不用臨時表,就必須有排序列,值唯一,做參考:
select (select count(*) from yourtable where col <= A.col) row, * from yourtable A order by col
三、在原表中增加一列來實現
alter table yourtable add ID int identity
select * from yourtable
alter table yourtable drop column ID
四、 使用SQL Server 2005 獨有的RANK() OVER () 語法(測試 客戶編號 也應該值唯一才對)
SELECT RANK() OVER (ORDER BY 客戶編號 DESC) AS 序號, 客戶編號,公司名稱 FROM 客戶
五、
SELECT 序號= COUNT(*), a.客戶編號, b.公司名稱
FROM 客戶 AS a, 客戶AS b WHERE a.客戶編號>= b.客戶編號
GROUP BY a.客戶編號, a.公司名稱
ORDER BY 序號
㈧ 怎麼用sql對搜索結果排序並添加序號
1、首先建一張測試表coal_blead,裡面有多個欄位。
㈨ sql如何自動增加序號查詢語句
現有兩種方法解決,供參考:
1、SELECT IDENTITY(INT,1,1) AS 序號, avge FROM Table1
2、SELECT IDENTITY(INT,1,1) AS 序號, avge INTO #temp1 FROM Table1
SELECT * FROM #temp1
DROP TABLE #temp1