簡體   English   中英

Django MySQL查詢-選擇DateTime 60分鍾,然后選擇上一行嗎?

[英]Django MySQL Query - Select DateTime 60 minutes Larger Then Previous Row?

我有一個已歸檔datetime的模型,稱為“ start_time”。

可以說我做了基本的選擇查詢:

results = MyModel.objects.filter(start_time=somedate).order_by('start_time')

我會得到類似:

2015-07-10 17:15:00
2015-07-10 19:15:00
2015-07-10 19:45:00
2015-07-10 21:15:00
2015-07-10 21:45:00

我的目標是exclude不比上一行大至少60分鍾的所有行,以便得到以下結果:

2015-07-10 17:15:00
2015-07-10 19:15:00
2015-07-10 21:15:00

有什么建議么?

相應的sql查詢可能如下所示:

SELECT * FROM Table
WHERE 
  start_time > somedate
GROUP BY 
  DATE(start_time), 
  HOUR(start_time)

我不確定django ORM支持這種GROUP BY 如果沒有,您可以嘗試使用原始sql。

編輯:將60分鍾或1個小時按日期-小時分組進行掩蓋,然后采用每個組的第一個元素。 如果您正在談論90分鍾或日期時間字段中不適合的任何內容,那么恐怕這種方法將行不通。 過濾應手動完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM