反饋已提交

網絡繁忙

資料集中的排序

一、概述

  1. 問題描述:資料集中的排序是指通過 SQL 直接在資料庫查詢時排序。此方法效能最佳,但所有計算都必須要在資料庫中做,會導致 SQL 很複雜,難以維護,另外有些計算是無法用 SQL 完成的。

  2. 解決思路:僅使用 SQL 實現一些簡單的,單一的【升冪】或【降冪】。

  3. 本文將介紹在定義資料集時使用 SQL 語句可以設定的排序型別。

  4. 【ORDER BY】 關鍵字:【ORDER BY】 關鍵字用於對結果集按照一個列或者多個列進行排序。預設按照【升冪】進行排序,即 【ASC】 關鍵字;如果需要按照【降冪】排序,可以使用 【DESC】 關鍵字。

  5. 例如:升冪:SELECT * FROM 銷量 order by 銷量  。

    升冪:【SELECT * FROM 銷量 order by 銷量 asc】  。

    降冪:【SELECT * FROM 銷量 order by 銷量 desc】  。

二、範例

1
升冪。
  1. 新增資料庫。

  2. 點擊【資料庫查詢】。

  3. 輸入SQL 查詢語句:【SELECT * FROM 銷量 order by 銷量】。

  4. 點擊【預覽】。

  5. 即可看到資料按【銷量】欄位升冪排序,如下圖所示。

 

35.png

 

2
降冪。
  1. 新增資料庫。

  2. 點擊【資料庫查詢】。

  3. 輸入SQL 查詢語句:【SELECT * FROM 銷量 order by 銷量 desc】。

  4. 點擊【預覽】。

  5. 即可看到資料按【銷量】欄位降冪排序,如下圖所示。

 

36.png

 

3
多列排序。
  1. 新增資料庫。

  2. 點擊【資料庫查詢】。

  3. 輸入SQL 查詢語句:【SELECT * FROM 銷量 order by 英文簡稱,銷量】。

  4. 點擊【預覽】。

  5. 即可看到資料先按【英文簡稱】列升冪排序,【銷量】列再按對應的【英文簡稱】升冪排序,如下圖所示。

 

37.png


4
動態排序。
  1. 新增資料庫,點擊【資料庫查詢】,SQL 查詢語句爲:【SELECT * FROM 銷量 where 地區='華北' order by 銷量 ${a} 】。定義了一個資料集參數 【a】用來表示排序。將參數【a】預設為【asc】。如下圖1所示。

  2. 將資料集中的資料牽曳入表格,選定 A2 儲存格,設定資料設定爲【列表】,報表式樣如下圖2所示。

  3. 選中【銷量】欄位所在 E1 儲存格,新增【超級鏈結】→【動態參數】,進入編輯,參數是在 SQL 中設定的參數 【a】 ,參數值輸入公式:【if(a="desc","asc","desc") 】。如下圖3所示。

  4. 注:如果需要兩個欄位均設定動態參數,SQL 語句可修改爲: 【SELECT * FROM 銷量 where 地區='華北' order by 銷量 ${a},銷售員 ${a} 】  。

 

38.png


39.png

 

40.png

 

5
效果預覽。
  1. PC端展示:點擊【分頁預覽】,即可在網頁中看到報表,效果如下圖所示。

  2. HTML5 端及App 端展示:點擊【行動端預覽】,行動端瀏覽器/APP掃描網頁中的QR code即可。詳情可見 預覽行動端範本 。App 端和 HTML5 端報表效果和PC端一致。

 

41.png


三、注意事項

  1. 如果 MySQL 資料庫無法實現按中文拼音首字母排序,需要看一下表欄位是否使用的是 UTF-8 編碼,如果使用的是 UTF-8 編碼,則需要使用 MySQL 的 convert 方法轉換成 GBK 編碼進行排序。且前提是 MySQL 安裝了 GBK 字元集,不然會報錯。

  2. SQL 語句如下:

    升冪:【SELECT * FROM 銷量 order by convert(英文簡稱 using gbk)】  。

    降冪:【SELECT * FROM 銷量 order by convert(英文簡稱 using gbk) desc】  。

 

四、範本下載

  1. 點擊下載範本。

資料集中的排序.cpt


附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙