Sqlserver 如何獲取每組中的第一條記錄

2022-09-10 13:18:26 字數 602 閱讀 2457

在日常生活方面,我們經常需要記錄一些操作,類似於日誌的操作,最後的記錄才是有效資料,而且可能它們屬於不同的方面、功能下面,從資料庫的術語來說,就是查詢出每組中的一條資料。

例子

我們要從上面獲得的有效資料為:

對應的sql:

select * from t1 t where id = (select top 1 id from t1 where grp = t.grp order by createtime desc )

t1是表名,t是t1表的別名

select * from [document] where documentid in(

select max(documentid) from [document] where 1=1 andcategoryid in(100,101)group by categoryid

)

SqlServer分組排序取出每組順序第一的資料

首先建立測試表並插入資料,建立測試表 匯率庫表 create table exchangerate moneytype varchar 100 幣種 exchangerate varchar 100 匯率 adddate datetime 新增時間 插入測試資料 insert into exchan...

groupby並獲取每組元素數量

python 有兩個有goupby的庫 pandas 需要numpy import pandas as pd df pd.dataframe log list,columns msg ori 先將list轉成pd的dataframe,log list是內容列表,columns是定義的列名索引 df2...

sql server 分組,取每組的前幾行資料

sql中group by後,獲取每組中的前n行資料,目前我知道的有2種方法 比如有個成績表 裡面有欄位學生id,科目,成績。我現在想取每個科目的頭三名。1.子查詢 select from score s where studentname in select top 3 studentname fr...