PostgreSQL:以分鐘計算運行行數
本文示範如何取得查詢的運行行數(在 PostgreSQL 中按分鐘分組)。 挑戰在於準確計算每分鐘的行數,即使是那些沒有活動的行。
利用視窗函數
最有效的解決方案是利用 PostgreSQL 強大的視窗函數。 這些函數對行集進行操作,從而實現跨多行的計算。 在這裡,我們在按分鐘分區的視窗中使用 COUNT
函數。
使用 SELECT DISTINCT
和 ORDER BY
此查詢使用 SELECT DISTINCT
確保唯一的分鐘條目,並使用帶有視窗函數的 COUNT
來產生運行計數。 ORDER BY
確保每分鐘間隔的正確累積和。
SELECT DISTINCT date_trunc('minute', "when") AS minute, count(*) OVER (ORDER BY date_trunc('minute', "when")) AS running_ct FROM mytable ORDER BY 1;
理解視窗函數語法
讓我們分解一下視窗函數:
-
COUNT(*)
:計算每個分鐘分區內的行數。 -
OVER (ORDER BY date_trunc('minute', "when"))
:將視窗定義為一系列行,按分鐘排序,從頭開始累積計數。
零活動處理分鐘
要包含沒有活動的分鐘(零行),我們使用 generate_series
建立一系列分鐘,然後執行 LEFT JOIN
來包含這些分鐘,即使它們在表中缺少相應的條目:
SELECT DISTINCT minute, count(c.minute) OVER (ORDER BY minute) AS running_ct FROM ( SELECT generate_series(date_trunc('minute', min("when")), max("when"), interval '1 min') FROM mytable ) m(minute) LEFT JOIN (SELECT date_trunc('minute', "when") AS minute FROM mytable) c USING (minute) ORDER BY 1;
效能注意事項
雖然視窗函數通常最適合大型資料集,但對於較小的資料集,使用 SUM()
的替代方案可能會提供更好的效能。此方法首先將每分鐘的行分組和計數,然後使用 SUM()
計算運行總計:
SELECT minute, sum(minute_ct) OVER (ORDER BY minute) AS running_ct FROM ( SELECT date_trunc('minute', "when") AS minute, count(*) AS minute_ct FROM tbl GROUP BY 1 ) sub ORDER BY 1;
最佳方法取決於您的資料集大小和效能要求。 建議測試這兩種方法,以確定適合您的特定用例的最有效的解決方案。
以上是如何在 PostgreSQL 中取得每分鐘運行的行數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用MySQL的Alter Table語句修改表,包括添加/刪除列,重命名表/列以及更改列數據類型。

文章討論了為MySQL配置SSL/TLS加密,包括證書生成和驗證。主要問題是使用自簽名證書的安全含義。[角色計數:159]

文章討論了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比較了它們對初學者和高級用戶的功能和適合性。[159個字符]

本文討論了使用Drop Table語句在MySQL中放下表,並強調了預防措施和風險。它強調,沒有備份,該動作是不可逆轉的,詳細介紹了恢復方法和潛在的生產環境危害。

本文討論了在PostgreSQL,MySQL和MongoDB等各個數據庫中的JSON列上創建索引,以增強查詢性能。它解釋了索引特定的JSON路徑的語法和好處,並列出了支持的數據庫系統。

文章討論了使用準備好的語句,輸入驗證和強密碼策略確保針對SQL注入和蠻力攻擊的MySQL。(159個字符)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能