作者joedenkidd (优质的蓝色射手)
看板Database
标题[SQL ] 维持最新n笔资料
时间Sat Jun 22 11:56:28 2013
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
1F:→ alan3100:triger 06/22 12:47
2F:→ lbeeon:如果你不用新增 改用更新最旧一笔资料? 一开始就先建20笔 06/22 19:41
3F:→ joedenkidd:资料是会成长的,所以会新增,而我希望是各组资料保留 06/22 21:07
4F:→ joedenkidd:20笔最新的 06/22 21:07
5F:→ alpe:file cache 06/22 21:10
6F:→ f1234518456:top 20? 06/22 23:03
7F:→ lbeeon:那就楼上说的Top20 desc by time应该可行 06/23 00:48
8F:→ alan3100:会成长又delete? 到底是要query20笔还是资料要维持20笔 06/23 00:53
9F:→ iFEELing:如果你只是要找出最新的20笔 不用每次都砍旧的啊 06/23 00:53
10F:→ joedenkidd:要query 2笔资料,同时也希望在资料表中只维持20笔资料 06/23 08:21
11F:→ joedenkidd:我想到用union的方式,所有资料跟top20做差集 06/23 08:22
12F:→ alan3100:你用的DB有rowId或rowNumber或unique可用update取代 06/23 09:01
13F:→ alan3100:如果你是要新增加维持20笔资料个功能可以用triger 06/23 09:11
14F:→ alan3100:time is not unique 06/23 09:14
15F:→ joedenkidd:我试看看triger吧!!谢谢 06/23 09:17