[SQL ] 維持最新n筆資料

看板Database (資料庫)作者 (優質的藍色射手)時間12年前 (2013/06/22 11:56), 編輯推噓0(0015)
留言15則, 6人參與, 最新討論串1/1
Dear all: 小弟我想寫一個功能就是維持最後20筆資料。 目前想法是在資料庫裡做search 出我要的資料 只要大於20筆就先用總數與20相減得Y,然後再下 delete from table where time in(select time from table order by time asc limit y) 不知道有沒有更好的方式可以處理 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.226.108

06/22 12:47, , 1F
triger
06/22 12:47, 1F

06/22 19:41, , 2F
如果你不用新增 改用更新最舊一筆資料? 一開始就先建20筆
06/22 19:41, 2F

06/22 21:07, , 3F
資料是會成長的,所以會新增,而我希望是各組資料保留
06/22 21:07, 3F

06/22 21:07, , 4F
20筆最新的
06/22 21:07, 4F

06/22 21:10, , 5F
file cache
06/22 21:10, 5F

06/22 23:03, , 6F
top 20?
06/22 23:03, 6F

06/23 00:48, , 7F
那就樓上說的Top20 desc by time應該可行
06/23 00:48, 7F

06/23 00:53, , 8F
會成長又delete? 到底是要query20筆還是資料要維持20筆
06/23 00:53, 8F

06/23 00:53, , 9F
如果你只是要找出最新的20筆 不用每次都砍舊的啊
06/23 00:53, 9F

06/23 08:21, , 10F
要query 2筆資料,同時也希望在資料表中只維持20筆資料
06/23 08:21, 10F

06/23 08:22, , 11F
我想到用union的方式,所有資料跟top20做差集
06/23 08:22, 11F

06/23 09:01, , 12F
你用的DB有rowId或rowNumber或unique可用update取代
06/23 09:01, 12F

06/23 09:11, , 13F
如果你是要新增加維持20筆資料個功能可以用triger
06/23 09:11, 13F

06/23 09:14, , 14F
time is not unique
06/23 09:14, 14F

06/23 09:17, , 15F
我試看看triger吧!!謝謝
06/23 09:17, 15F
文章代碼(AID): #1HnI1l1p (Database)
文章代碼(AID): #1HnI1l1p (Database)