Mysql分組查詢加上序號

2021-10-06 04:03:57 字數 849 閱讀 2962

今天老闆讓我刪除資料庫中多餘的資料

要求:每個使用者只保留當天的前四條記錄

最開始只是用userid進行了分組

但是怎麼再用時間進行分組呢

最開始我實在when後面加上and條件

但是發現結果不對

刪掉之後就可以了

select id  from

(select

@r:=

case

when

@type

=a.userid and

@date

=date_format(starttime,

'%y-%m-%d'

)then@r+

1#when @data=date_format(starttime,'%y-%m-%d') then @r+1

else

1end

as rownum,

@type:=a.userid as userid,

@date:=date_format(starttime,

'%y-%m-%d')as

time

, a.id

from

(select

*from explore201909 where boxid=

72805

order

by userid,starttime) a ,

(select

@r:=0,

@type:=0,

@date=''

) b)c where c.rownum>

4

注意:when 只要執行下面的就不會執行,所以盡量範圍從小到大

access 分組序號 ACCESS分組查詢

滿意答案 vigorsun86 2013.04.21 採納率 59 等級 12 已幫助 5747人 回答補充 因為不知道利用乙個單錶怎樣區分班級資訊,所以我加了乙個字段 bj,代表班級資訊。修改後的表如下 xh,yw,sx,wy,bj 學號,語文,數學,外語,班級 access中的sql語句 sel...

mysql分組排序加序號

參照 一 需求 新加乙個sort 字段,初始值為1,按照parentid分組新增sort值。根據原資料的parentid,postime排序,不同parentid值,sort 值從1開始重新增加 二 實現 1 update co test ast12 set sort 3 select 4t2.i ...

mysql 分組查詢

create table wz id int 10 unsigned not null auto increment,province varchar 8 not null default city varchar 32 not null default hphm varchar 8 not nul...