2015-05-14 85 views
0

我正在使用sqlalchemy從MySql數據庫查詢內存日誌。我使用:如何在SqlAlchemy中以分/小時步長間隔查詢行?

session.query(Memory).filter(Memmory.timestamp.between(from_date, to_date))

,但使用的時間窗口之後的結果仍然是太多了。

現在我想查詢結果withing的時間窗口,但通過詢問過濾條目記錄下來每X分鐘/小時,跳繩之間的人,卻找不到一個簡單的方法來做到這一點。

爲了進一步闡述,可以說的「L的都是從查詢結果中的一個給定的timewindow:

lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

爲了沖淡他們,我要尋找一個查詢,將只返回」 L的每X分鐘/小時,這樣我不是不知所措:

l......l......l.....l......l......l......l.....l.....l.....l.

我能得到一切,然後寫做了這樣的功能,但擊敗避免窒息W的目的第一個結果是結果。

旁註: 更糟糕的是,我可以在跳過預先確定的行數後使用行ID列上的mod來詢問行。但是,由於存在時間戳(DateTime類型的sqlalchemy),所以避免這種情況會很好。

編輯: 有可能是使用group by時間戳,然後以某種方式從每個組中選擇一個行一定價值,但仍然不知道如何使用的SQLAlchemy做一個有用的方式。

+0

你是說了'between'過濾器不能正常工作像你期望的那樣,或者說,它是工作,但也有仍然返回過多的結果,你想頁面的結果? – davidism

+0

第二種情況,仍然有太多的服務結果。 – petroslamb

回答

0

如果我理解正確的FROM_DATE和TO_DATE只是日期。如果您將它們設置爲Python日期時間對象,並使用您想要的結果之間的日期/時間,它應該可以工作。

+0

問題是結果仍然太多。我需要在給定日期內以5分鐘的時間間隔帶他們。 – petroslamb

相關問題