當前位置:首頁 » 編程語言 » sql分組第一條

sql分組第一條

發布時間: 2022-09-12 00:57:11

1. 我想取每個分組下的第一條數據,如下圖:我想取1,4的數據,我該如何寫sql

SQLSERVER語句如下:
with nyr as (
select NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,JZJG,MAX(SJGX_SJ),
ROW_NUMBER() over (partition by nyr order by nyr) as 'rowno'

from WD_O_T_IC_SPSJ_FX
where rowno=1
group by NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,JZJG
order by NYR,QYZX_DM,FXSP_XH,SPBM_DLJ,WBSP_GG,JGLX,MAX(SJGX_SJ) desc
)
select *
from nyr
where rowno = 1
因我沒有你的數據,沒有測試,不好意思。
如有問題,請追問一下。

2. 如何用SQL SERVER取分組數據第一條

根據table1_id進行分組所得結果:

select * from (select a.id as a_id,a.name,a.time,a.content,b.id as b_id,b.user from table1 a inner join table2 b on a.id = b.table1_ID) new_tbl where b_id in (select min(id) from table2 group by table1_ID)

(2)sql分組第一條擴展閱讀:

注意事項

在SQL Server資料庫中,使用top關鍵字:SELECT TOP number|percent column_name(s) FROM table_name

在MySQL資料庫中,使用LIMIT關鍵字:SELECT column_name(s) FROM table_name LIMIT number

例子:SELECT * FROM Persons LIMIT 1

select bookName from book where price > 20 limit 1;

limit 1;
or
limit 0,1;

在Oracle資料庫中,使用ROWNUM關鍵字:

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number

例子:SELECT * FROM Persons WHERE ROWNUM <= 1

3. SQL 取出每個分組的第一條記錄,同時還顯示每個分組某個欄位的總和

--如果臨時表存在,刪除
if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb.dbo.[##tableA]'))
drop table [dbo].[##tableA]

--以第一條記錄創建臨時表
--註:根據你的要求,追加了一個用來確定組內記錄序號的欄位row_order,
-- 因為如果沒有這個欄位,沒有辦法實現取得你說的那樣的第1條記錄的。
select A='a',B=1,C='w',D='b',row_order=1 into ##tableA
--將其餘5個記錄寫入臨時表
insert into ##tableA
select 'a', 2, 'x', 'y',row_order=2 union
select 'a', 3, 'z', 't',row_order=3 union
select 'b', 2, 'g', 't',row_order=1 union
select 'b', 1, 'm', 'h',row_order=2 union
select 'b', 5, 'u', 'q',row_order=3
go
--用公共表達式取得即將要輸出的結果集
with ABCD as (
select A,B,C,D,row_number() over (partition by A order by row_order ) as 'rowid',
sum(B) over (partition by A) as 'SUMB'
from ##tableA)
--從公式表達式中取得要求的結果
select A,B,C,D,SUMB
from ABCD
where rowid = 1
--刪除臨時表
if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb.dbo.[##tableA]'))
drop table [dbo].[##tableA]

/*
A B C D SUM(B)
a 1 w b 7 註:根據你的數據,應該是6
b 2 g t 8
*/

------------------------------------------------------------------
輸出的結果:
A B C D SUMB
---- ----------- ---- ---- -----------
a 1 w b 6
b 2 g t 8

(2 行受影響)

4. 分組選出第一的sql語句

SELECT top 1 * from Candidate group by [group]
SELECT top 1 * from (select * from Candidate group by [group] order by xxx )
保留字加方括弧

5. sql 獲取分組第一行數據

是oracle資料庫是這樣寫:
select namec,medicinemodel,outlookc,memo2 from (select namec,medicinemodel,outlookc,memo2 from 表名 group by namec,medicinemodel,outlookc,memo2 order by BidPrice) where rownum = 1;

這樣就查出第一行的數據

6. sql按欄位分組,並且找出每組的第一條數據

不知道你什

么資料庫,給出sqlserver和oracle的

select星期,字母
from
(selectrank()over(partitionby星期orderby字母desc)id,*
from表)t1
whereid=1

或者

select星期,max(字母)
from表
groupby星期

7. sql分組求第一條數據的問題是用什麼方法呢

withAas(SELECTdepartment.dept_name,empl_no,empl_name,pa101_03,
pa012.pa012_02,pa101_06,pa101_07_dd,pa101_01_dd,pa101_02,pa232.pa23203as'合同開始時間',pa232.pa23204as'合同結束時間'FROMpa101
INNERJOINdepartmentON(pa101.pa101_08=department.dept_cd)
INNERJOINpa012ON(pa101.pa101_10=pa012.pa012_01)
LEFTJOINPA013ON(PA101.PA101_29=PA013.PA013_01)
LEFTJOINPA011ON(PA011.PA011_01=PA101.PA101_09)
leftjoinpa232onpa232.pa23201=pa101.empl_no)
select*
fromAB1
where合同開始時間=(selectMAX(合同開始時間)fromAB2whereB1.empl_no=B2.empl_no)

8. 求一句Sql語句,選出分組中的第一個數據或某一條數據

同意 樓上的

也就是說,你把想篩選的 欄位都寫在 select distinct 後面 就可以了.

9. sql資料庫怎麼實現分組並取每組的前1條語句,按日期排序

select * from
(
select row_number() over(partition by '分組' order by '日期') as rownum -- 排序並分組
, * -- 所需顯示的欄位
from 表
) as T
where T.rownum = 1

對每組的數據按日期排序並加上行號
取出時只取行號為1,也就是第一條數據。

10. SQL 中如何根據只根據第一個欄位分組

使用分析函數row_number() over (partiion by ... order by ...)來進行分組編號,然後取分組標號值為1的記錄即可。目前主流的資料庫都有支持分析函數,很好用。
其中,partition by 是指定按哪些欄位進行分組,這些欄位值相同的記錄將在一起編號;order by則是指定在同一組中進行編號時是按照怎樣的順序。
示例(SQL Server 2005或以上適用):

123456
select s.* from ( select *, row_number() over (partition by [手機號] order by [店鋪]) as group_idx from table_name) swhere s.group_idx = 1

熱點內容
巴法雲伺服器帶寬 發布:2025-01-12 13:15:26 瀏覽:676
搭建國外伺服器需要多少錢 發布:2025-01-12 13:08:01 瀏覽:827
我的世界mod伺服器開荒 發布:2025-01-12 13:07:10 瀏覽:757
sql優化書 發布:2025-01-12 13:07:09 瀏覽:455
高校網站伺服器搭建與維護論文 發布:2025-01-12 13:06:31 瀏覽:711
sqlserver實例沒有 發布:2025-01-12 12:57:18 瀏覽:252
代碼文件伺服器地址怎麼寫 發布:2025-01-12 12:50:47 瀏覽:760
java中方法與 發布:2025-01-12 12:50:13 瀏覽:655
如何快速查找c語言編譯時的錯 發布:2025-01-12 12:49:56 瀏覽:32
看門狗上傳病毒 發布:2025-01-12 12:32:54 瀏覽:326