今天老闆讓我刪除資料庫中多餘的資料
要求:每個使用者只保留當天的前四條記錄
最開始只是用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...