我沒有你的表結(jié)構(gòu)和數(shù)據(jù),所以隨便找了張表作為例子,你看懂了改一下sql就可以了:
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、懷遠ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的懷遠網(wǎng)站制作公司
目的:修改roomPeople=20的倒數(shù)第三條數(shù)據(jù)的roomType字段為999,roomId為主鍵
這是原始數(shù)據(jù):很明顯我們要修改的數(shù)據(jù)roomId為105
修改步驟:
1、找到roomPeople=20的數(shù)據(jù):
2、取最后3條數(shù)據(jù):
3、獲得要修改的目標(biāo)行的roomId字段
4、根據(jù)查找到的主鍵進行修改操作:
5、修改后數(shù)據(jù)為:
很明顯,目的達到了,roomId為105的數(shù)據(jù)的roomType字段被修改為了999
所有sql如下:
#原始數(shù)據(jù)-按roomId升序排序
select?roomId,roomType,roomPeople?from?room15
#修改roomPeople=20的倒數(shù)第三條數(shù)據(jù)的roomType字段為999
UPDATE?room15?
set?roomType=999
where?roomId=(
select?t1.roomId?
from?(
select?roomId,roomType,roomPeople
from?room15
where?roomPeople=20
ORDER?BY?roomId?desc?
LIMIT?3)?as?t1
ORDER?BY?roomId
LIMIT?1
)
#修改后數(shù)據(jù)-按roomId升序排序
select?roomId,roomType,roomPeople?from?room15
樓主若覺得回答有所幫助,望采納,謝謝!
既然你的 DATE 類型是 datetime
而且 你存儲的這個 時間應(yīng)該即是 倒計時的到期時間!
SELECT DATE_ADD(`DATE`,INTERVAL 3 MINUTE) AS `time`
FROM 表名字
這樣查詢出來的 的 time 的值 就是 數(shù)據(jù)庫 date字段 加了 三分鐘之后的 時間了!
倒計時的做發(fā)其實靠JS完成就好了,你只要定義了開始時間和結(jié)束時間,并且輸出到網(wǎng)頁的JS中
完成就行了,可能你要說,我是要對比服務(wù)器時間?。??
這個不妨礙,你可以拿服務(wù)器時間 和 客戶端的時間做一個比較,如果沒有誤差最好,如果有你用JS計算出這個誤差,然后在客戶端的JS基本中去彌補這個誤差即可!
倒計時不是這樣玩的哦
如果僅僅是顯示在頁面上可以用c#的timer事件
也可以使用js的setInterval(test, 1000) 定時刷新方法實現(xiàn)
或者是,他每次登陸你網(wǎng)站或打開網(wǎng)站上網(wǎng)頁時,你就判斷他上次激活的時間,距這次登陸的時間有沒有30天。然后就好辦了。倒計時的話,可以做個js的,結(jié)合起來顯示上更好看。
沒有這樣的功能,做個計劃任務(wù)吧?;蛘咴诔绦蚶锩鎸θ掌谶M行判斷
select * from table order by id limit 1,1;
// 先按 id 從小到大倒敘排列,然后從第二條開始取數(shù)據(jù),只取一條,那么取出的這一條數(shù)據(jù) id 就是倒數(shù)第二大的
// limit m,n ;第一個參數(shù) m 表示從第幾條開始取數(shù)據(jù),m 從 0 開始,依次為第一條、第二條。。。,第二個參數(shù) n 表示要取出多少條數(shù)據(jù)