2016-11-03 50 views
0

我有它具有以下的表:SQLite的選擇下一個最接近的日期

ID | DATE | CRON | MAXIMO |FEATURES 
int date text text varcahr 

我使用這個表來存儲關於計劃活動的數據。我想抓取CRON字符串,其中日期是當前日期時間的下一個元素。有沒有簡單的方法來實現這一點?

+0

你用google嗎?我可以找到類似這個問題。 – DavidS

+0

我發現了類似的問題,但它們並不完全一樣,答案也沒有像我希望的那樣有幫助。 – Jrawr

+0

「日期」列中值的格式是什麼? –

回答

0

我認爲這可能適合你。我不是太熟悉SQL-精簡版,所以我用的Oracle SQL:

第一次使用此子查詢來獲取所有的最接近記錄每個ID:

select T1.ID, min(ABS(t1.date - t2.date)) date2 
from TABLE_NAME t1, 
TABLE_NAME t2 
where t1.ID != t2.ID --don't look at the same row's of you'll get 0 every time. 
--You'll have to play with the where clauses depending on what you're looking for. 
--This would return the closest date regardless of the ID or other columns 
group by T1.ID 
; 

現在你可以使用該子 - 每當需要查找最近日期時,在常規查詢中查詢:

SELECT TAB1.ID, SUB1.MinDate 
FROM 
(
select T1.ID, min(ABS(t1.date - t2.date)) MinDate 
    from TABLE_NAME t1, 
    TABLE_NAME t2 
    where t1.ID != t2.ID time. 
    group by T1.ID 
) SUB1, 
    TABLE_NAME TAB1 
    WHERE SUB1.ID = TAB1.ID 
    ; 

我認爲這應該適用於您要求的內容。您可能需要修改were子句,但邏輯在那裏。