1. 問一個sql查詢,如何給查詢結果加上序號
SQL Server 下
1、SELECTROW_NUMBER()OVER(ORDERBYID)ROWNU,A1FROMTA1
解說:在這里,TA1是一個表,A1是表中的一個欄位,表的另一個欄位為ID本用於自增這兒用來排序。
SQL Server 中的ROW_NUMBER() 得到一個查詢出的順序,但這個函數要求給出一個查的排序方案,因為SQL Server的存儲是無關順序的。
在Oracle里,本就有rownum。可直接用:
1、SELECTrownum,A1FROMTA1
其它的資料庫可能有別的方案,不一而論。
2. 問一個sql查詢,如何給查詢結果加上序號
SQL Server 下
1、SELECTROW_NUMBER()OVER(ORDERBYID)ROWNU,A1FROMTA1
解說:在這里,TA1是一個表,A1是表中的一個欄位,表的另一個欄位為ID本用於自增這兒用來排序。
SQL Server 中的ROW_NUMBER() 得到一個查詢出的順序,但這個函數要求給出一個查的排序方案,因為SQL Server的存儲是無關順序的。
在Oracle里,本就有rownum。可直接用:
1、SELECTrownum,A1FROMTA1
其它的資料庫可能有別的方案,不一而論。
3. sql語句里如何實現給查詢記錄添加自然序號
通過rownum實現即可。
sql:select rownum , * from tablename where 條件語句。
解釋:rownum是隱藏的,查詢結果默認從1開始編號,所以肯定會是自然編號的,有多少條,編號就到多少。
4. sql 查詢語句自動增加序號
.使用臨時表實現
SQL的IDENTITY函數可以提供自增的序號,但只能用在帶有INTO table子句的SELECT語句中,所以如果可以使用臨時表的情況下可以使用這種實現方法。
eg:
SELECT IDENTITY(INT,1,1) as seq,field1,field2,...,fieldn INTO tmpTableName FROM srcTableName;
SELECT * FROM tmpTableName;
DROP TABLE tmpTableName;
5. 怎樣在SQL的一個查詢中增加一個序列號
通過rownum實現即可。
sql:select rownum , * from tablename where 條件語句。
解釋:rownum是隱藏的,查詢結果默認從1開始編號,所以肯定會是自然編號的,有多少條,編號就到多少。
6. 如何用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、查詢結果:
7. 如何在sql的查詢結果中加入序號
indentity(int,1,1)
應為identity(int,1,1)表示新列是標識列
也就是自增加的欄位;但對於每個表只能創建一個標識列;identity
只能用於select
into;create
table
里所以zds0707(周)方法不可行;
8. 函數編寫 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 序號
9. SQL 如何給各自分組添加序號
select姓名,日期,row_number()over(partitionby姓名orderby日期)fromtable
oracle的寫法,SQL server好像不支持。