一句話得到中間值的多條記錄
這個計算步驟比較多,首先需要用 distinct 去重得到值的集合,還要根據它的個數算出中間位置在哪,得到中間位置的值,再查詢所有等於中間值的記錄。SQL 裡比較難保持這些中間狀態的變數,得用多層巢狀的子查詢實現,寫出來有難度,之後了再讀懂也不容易。
這種情況如果用集算器 SPL 語言就比較容易,從資料庫得到原始資料:
>T=connect(”mysqlDB”).query(“select * from T”)
然後很短的一句話就能把多個計算步驟都囊括了:
>s=T.id(f),m=s.sort().m((s.len()+1)\2),r=T.select(f==m)
除了中間值,還有最大值 / 最小值的相關運算,SPL 進一步提供了 TopN 的幾種變種運算,在清晰的分步計算能力之外,又提供了便利,可以取 TopN 的值 / 記錄 / 記錄在集合中的位置,可以應用到分組子集,參考
當資料不在資料庫裡時,SPL 載入資料仍然方便:
=file(“d:/t.csv”).import(;,",")
SPL能很方便地嵌入到JAVA應用,可參考 。
具體使用方法可參考 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 如何返回最大值所在的多條記錄SQL
- 一句話得到 SQL 難實現的去年同期比SQL
- 一句話查詢出指定節點的葉子記錄
- mysql 批次更新與批次更新多條記錄的不同值實現方法MySql
- 一句話實現MySQL庫中的按條件變化分組MySql
- 一句話實現MySQL庫中的有序列舉條件分組MySql
- C# ling to sql 取多條記錄最大時間的例項程式碼C#SQL
- 一句話總結三十條認知偏見
- postgresql 多條記錄合併一條,或取最新的一條資料SQL
- 按條件查出兩條記錄後求其位置間隔
- AI速遞:21條一句話新聞moshi等AI
- mysql left join的時候又表是多條記錄的話,會出現冗餘的情況MySql
- 一次性插入多條記錄
- php一句話獲取獲取檔案目錄的方法PHP
- 一個表單同時提交多條記錄
- Drupal 如何得到欄位的值?
- 一句話實現MySQL庫中的重疊分組MySql
- 我最喜歡的一句話
- 記錄曾經拒絕的話
- 一句話解釋TransformerORM
- 一句話說明白C#中的new與override的區別C#IDE
- Stream中filter過濾條件問題記錄Filter
- mybatis一對多查詢resultMap只返回了一條記錄MyBatis
- MySQL資料庫查詢多個欄位值全部相同的記錄MySql資料庫
- 違反併發性: UpdateCommand 影響了預期1條記錄中的0條
- 一句話實現MySQL庫中的按連續等值分組MySql
- 本週AI一句話摘要AI
- 一句話理解設計模式設計模式
- 一句話總結原型鏈原型
- MySQL 多表分組後獲取每一組的時間最大的那條記錄MySql
- MySql先分組統計總記錄數,再獲取記錄數中的最大值MySql
- 線上直播原始碼,fragment中onActivityForResult得到返回值原始碼Fragment
- 一句話總結JS的設計模式JS設計模式
- 用一句話描述Go語言的命令Go
- mysql刪除一條記錄MySql
- Java日期時間API系列39-----中文語句中的時間語義識別(time NLP 輸入一句話,能識別出話裡的時間)原理分析JavaAPI
- mysql快速新增百萬條記錄的語句MySql
- 如何用FGA得到繫結變數的值變數