一句話計算出 TopN 的增長情況
比如,一年中汙染最嚴重三天的 PM2.5 漲幅,瞭解這個漲幅,就能觀察出嚴重汙染是突然出現的,還是逐漸積累起來的。用 SQL 語句找出汙染最嚴重的三天,不算難:
select top 3 * from T order by pm25 desc
但後面的步驟比較麻煩,要找到這三天的前一天,還要和前一天的數值做計算,如果不是 SQL 高手,還真不能隨手把這個 SQL 寫正確。
如果用集算器 SPL 語言描述這個計算過程,就比較清晰,從資料庫得到原始資料:
>T=connect(”mysqlDB”).query(“select * from T”)
然後一行程式碼搞定整個計算需求:
>t3=T.ptop(-3, pm25),t3=t3.run(~=T(~).pm25/T(~-1).pm25-1)
這主要得益於 SPL 語言支援有序集合計算,容易得到資料在集合中的位置,也容易透過相對 / 絕對位置反查資料。
SPL在做有序集合計算時,對 SQL 裡的 TopN 進行了變種,可以取 TopN 的值 / 記錄 / 記錄在集合中的位置,以應對更廣泛的計算需求;可以應用到分組子集,增強分組後續操作的能力,參考
當資料不在資料庫裡時,SPL 載入資料仍然方便:
=file(“d:/t.csv”).import(;,",")
SPL能很方便地嵌入到JAVA應用,可參考 。
具體使用方法可參考 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server 2005 有自增長的表複製情況SQLServer
- 一句話理解設計模式設計模式
- 一句話總結JS的設計模式JS設計模式
- 一句話設計模式,不再迷路~設計模式
- 雲端計算的未來在哪?破解亞馬遜雲科技增長神話亞馬遜
- PL/SQL的每天一句話SQL
- 機器學習和衛星影像方面新的發展動態可用於測算就業增長情況嗎?機器學習就業
- oracle ora-60 deadlock發生在多個會話的情況Oracle會話
- 測試在cursor_sharing為force情況下執行計劃的共享情況
- 一句話入門SEO
- Linux一句話收藏Linux
- 使用ass109.awk 分析會話阻塞情況會話
- 一句話讓你成為更好的PHP程式設計師PHP程式設計師
- 如何通過一句話讓程式設計師暴走?程式設計師
- 近20天學習計劃的完成情況
- php倒數計時出現-0的情況PHP
- 2019-2022年全球廣告支出增長情況(附原資料表)
- 一句話解釋數字簽名。一句話解釋數字證書
- Janky frames 是如何計算出來的
- 一句話總結原型鏈原型
- ORACLE一句話問答(一)Oracle
- ORACLE 一句話問答(二)Oracle
- 摘抄biti大師一句話
- Linux 一句話命令收藏Linux
- 一句話經驗總結
- 一句話解釋TransformerORM
- 本週AI一句話摘要AI
- mysql索引失效的情況MySql索引
- NoClassDefFoundError的兩種情況Error
- MapReduce之topN
- 請用一句話證明你是程式設計師程式設計師
- Oracle 12.2中的索引統計被呼叫情況Oracle索引
- 程式設計師修bug時的真實情況程式設計師
- 目前程式設計師的5中情況程式設計師
- 用一句話描述Go語言的命令Go
- 一句話的翻譯引發的爭論
- Flink實時計算topN熱榜
- 工信部:2016年3月電話分省資料情況