iT邦幫忙

0

找出時效最長的那一筆資料?

假設有五筆資料
(資料時間均為時間戳,這裡直接先以日期表示)

id / start_time / end_time
1 / 2019-5-1 / 2019-5-5
2 / 2019-5-1 / 2019-5-6
3 / 2019-5-2 / 2019-5-5
4 / 2019-4-30 / 2019-5-2
5 / 2019-4-29 / 2019-5-7

請問要如何找出第五筆那筆最長的資料?


補充
怎麼比對這些資料哪一筆時間最長,並印出

dragonH iT邦研究生 3 級 ‧ 2019-05-23 14:46:00 檢舉
浩瀚大的方法加個 limit 1 不就是你要的嗎

2 個回答

3
浩瀚星空
iT邦大師 1 級 ‧ 2019-05-23 12:56:55
最佳解答

如果是時間戳的話。直接相扣就好了。最長的秒數就是了。

select id,start_time,end_time,end_time-start_time AS time FROM db OGDER BY time DESC
看更多先前的回應...收起先前的回應...
小魚 iT邦高手 1 級 ‧ 2019-05-23 14:44:11 檢舉

可以在第一層就用time排序嗎?

dragonH iT邦研究生 3 級 ‧ 2019-05-23 14:48:23 檢舉

這個不是只有一層嗎 /images/emoticon/emoticon06.gif
還是我誤會什麼

@小魚你說簡寫法嗎??
我是為了讓他理解才寫這樣。
你要知道我很少將答案給完全寫明的。
做個開頭,剩下來的請自行去操作練習看看。

小魚 iT邦高手 1 級 ‧ 2019-05-23 18:26:40 檢舉

這樣說也是,
話說@我是收不到的,
真的要的話要用標記.

小魚 iT邦高手 1 級 ‧ 2019-05-23 18:29:50 檢舉

剛剛試了一下,
第一層好像就可以直接用代號做order,
如果是ms-sql是不行的.

0
小魚
iT邦高手 1 級 ‧ 2019-05-23 14:41:13

要找第五筆可以用LIMIT

看更多先前的回應...收起先前的回應...
小松菜奈 iT邦研究生 4 級 ‧ 2019-05-23 14:42:40 檢舉

抱歉忘記說明
需要比對哪一筆資料最長並印出

小魚 iT邦高手 1 級 ‧ 2019-05-23 14:44:46 檢舉

結合我的跟浩瀚大大的就可以寫出來.

唉~~~這樣子還看不懂我也算是服了。
直接給標準答案

SELECT * FROM db ORDER BY (end_time-start_time) DESC LIMIT 1

人家都已經偷告訴你用limit。還在那邊搞不懂。吼~~~

小松菜奈 iT邦研究生 4 級 ‧ 2019-05-23 15:56:19 檢舉

TO浩瀚星空 沒呢,我只是補充我的問題給小魚喔

小松菜奈 iT邦研究生 4 級 ‧ 2019-05-23 16:01:46 檢舉

我知道 limit 怎麼用,小魚給我的是印出第五筆,所以我才補充是要比對找資料
原來可以在 order by 寫加減

那就當我誤會說錯了。抱歉了。

小松菜奈 iT邦研究生 4 級 ‧ 2019-05-23 16:44:06 檢舉

沒事的 謝謝了 我在研究一下 order by 加減 囉

我要發表回答

立即登入回答