今天遇到一個看似簡單卻很糾結的問題,但最后還是解決了
我用的是Oracle 根據網上提供的好多都不行,具體貼圖
這是登錄表的字段,每個用戶登錄時候會insert用戶的ID登錄時間
現在用戶要顯示上次登錄的時間該怎么取?
下面是登陸時間的倒敘排列
如果拿最新的登錄時間如下所寫
但是取上次登錄記錄(也就是倒敘后的第二條)怎么取? 網上提供好多都是讓ROWNUM=2,但是結果卻大大出乎意料
竟然是空值,也就是跟沒就沒取到,但是如果改成ROWNUM<=2 就可以拿到前倆條,下圖:
我也很納悶到底怎么回事,最后只能把取到的2條數據又做了個排序,取的第一條,如圖:
這樣雖然取出來但是總覺的有些不爽,應該有更可行的方法,希望各路大神給予指點。
另外還有一個疑點是如果直接查 ROWNUM 的結果是下圖:
正是因為他不是按照時間的排序來逐步增加的,所以即便讓ROWNUM=2 去到了也不對。
希望各路大神指點迷津!!!
轉載請標明原著,謝謝!