當前位置:首頁 » 編程語言 » sql給序號
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql給序號

發布時間: 2023-06-14 09:46:14

『壹』 sql中 怎樣給一列重復的欄位加序號

createtableT
(
mvarchar(10),
nint
)

insertintoTvalues('C',2)
insertintoTvalues('B',1)
insertintoTvalues('C',3)


withct
as
(
selectROW_NUMBER()over(orderbygetdate())asid,m,nfromT
)
select(selectMIN(id)fromctwherem=A.m)As序號,m,nfromcta

『貳』 函數編寫 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語句里如何實現給查詢記錄添加自然序號

通過rownum實現即可。
sql:select rownum , * from tablename where 條件語句。
解釋:rownum是隱藏的,查詢結果默認從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

其它的資料庫可能有別的方案,不一而論。

『伍』 sql 分組編序號

題主你已經把SQL文寫出來了,既然誰時間早排前面,那你把desc去掉就行了。

SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYSUBSTRING(CONVERT(varchar(100),Time,20),0,11)ORDERBYTime)ASxh,*FROMdbo.表)T

我用的oracle資料庫,sql文如下:

SELECT*FROM(SELECTROW_NUMBER()OVER(PARTITIONBYto_char(t.time,'yyyy-mm-dd')ORDERBYTime)ASxh,t.*FROMtestt)

『陸』 怎麼用sql對搜索結果排序並添加序號

1、首先建一張測試表coal_blead,裡面有多個欄位。

『柒』 問一個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 concat(concat(t2.nm,'.'),t1.mn)序號,t1.公司ID, from
(select
row_number() over(partition by 公司ID order by 員工名) mn,
公司ID from table) t1
,
(select nn+nn/10 nm,公司ID from(
select 公司ID,rownum nn from
(select
公司ID from table
group by 公司ID
order by 公司ID)
)) t2
where t1.公司ID= t2.公司ID
-------------------------------------------------------------------------
Oracle下測試通過,如果你不是Oracle,請忽略
-------------------------------------------------------------------------
思想,t1表得到的是1 A
2 A
1 B
t2表得到的是1.1 A
2.2 B
把他們第一個欄位拼起來。
ps:sql寫的我自己都覺得煩。。。。。。。。。

『玖』 利用"SQL"語句自動生成序號的方式

1.select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects

2.select id=IDENTITY(int,1,1), sysobjects.[name] as name into dbo.Test_Table from sysobjects

『拾』 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;