查詢組資料中最新記錄的集合

2022-03-23 05:18:08 字數 1310 閱讀 7452

例項:現有一張統計表,是以task_id和start_time作為聯合主鍵的,每乙個任務可以啟動多次,這樣一來同乙個task_id就會對應多個start_time即多條統計記錄,現在要求將所有的任務統計出來,也就是查詢出task_id唯一的集合,每條任務對應的是最新的一條統計記錄

1

<

select

id="selectlateststatistics"

resulttype

="com.haitao55.spider.common.dos.statisticsdo"

>23

select

4<

include

refid

="allcolumns"

/>

5from statistics

6where start_time in(

7select max(start_time) from statistics

8group by task_id)910

11select task_id taskid,max(start_time) starttime,any_value(end_time) endtime,

12any_value(success_count) successcount, any_value(failed_count) failedcount,

13any_value(offline_count) offlinecount, any_value(total_count) totalcount

14from statistics

15group by task_id

1617

18select a.task_id as taskid, a.start_time as starttime, a.end_time as endtime,

19a.success_count as successcount, a.failed_count as failedcount,

20a.offline_count as offlinecount, a.total_count as totalcount

21from statistics a,(

22select task_id,max(start_time) starttime

23from statistics

24group by task_id) b

25where a.task_id = b.task_id

26and a.start_time = b.starttime

27select

>

查詢每組資料中最新月份的記錄

id year month 1112012 1111 2012 2111 2013 1112 2012 1112 2012 2112 2012 3112 20124 注 每一組 id,year,month 都是唯一的,我現在要 查詢出 111,2013,1 112,2012,4 select a.f...

mysql取出每個分組中最新的記錄

mysql取出每個分組中最新的記錄 mysql的gruop by分組功能沒有排序功能,所以我們如果想取出某個分組下的最新記錄是不太容易的,下面介紹兩種方法,一種是通過子查詢,一種是通過group concat函式來實現。一 表結構及資料插入 表的結構 test3 create table if no...

SQL獲取表中最新插入的記錄

對於想要得到乙個表中的最後乙個插入操作所產生的id的最好用ident current tbname insert into table field1,field2,values field1value field2value select ident current recordid asnewid...