亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SQL 將 where 子句應用于任意查詢結果

SQL 將 where 子句應用于任意查詢結果

料青山看我應如是 2023-09-26 14:21:17
我正在開發一個系統,其中用戶引入 SQL 服務器/數據庫連接和有效的 SQL 查詢,并將其保存在我的系統上。我正在使用 python+sqlalchemy+pandas 來完成此任務。該查詢將返回一個像這樣的表,其中唯一的規則是查詢結果必須具有一個timestamp日期時間字段和至少另一列包含數值但名稱隨機的列。+-----------+----------+---------+-----+---------+| timestamp | series_1 | serie_2 | ... | serie_n |+-----------+----------+---------+-----+---------+| <time>    | numeric  | numeric | ... | numeric |+-----------+----------+---------+-----+---------+|                     ...                        |+-----------+----------+---------+-----+---------+| <time>    | numeric  | numeric | ... | numeric |+-----------+----------+---------+-----+---------+然后我有一個使用 cron 格式運行查詢的調度程序,我處理數據并將其存儲在我的系統數據庫中。問題是,每次我使用調度程序運行查詢時,我都會有舊的+新的記錄,為了處理這個問題,我使用 pandas 過濾結果以僅獲取新記錄,此時性能還可以(20s)對于 20 個系列的 10k 條記錄,考慮每周更新 1 次是合理的),但對于長時間有大量數據的情況來說,這不是一個好的解決方案。因此,我正在考慮是否可以使用 WHERE 子句包裝用戶查詢結果,以在查詢級別過濾結果timestamp,而不觸及查詢。
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

我是這樣做的:

query = f"SELECT sub.* from ({query}) as sub WHERE sub.timestamp > '{latest_timestamp}' ORDER BY sub.timestamp ASC"


查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關注
  • 107 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號