MySQL彙總排序查詢

2021-10-12 07:39:42 字數 1547 閱讀 4428

兩個要求:

①計算出來的字段銷售總額保留兩位小數;

②排序時,彙總不參與排序,放在最下面。

case when 加彙總,但是orderby排序對所有行排序,彙總的銷售金額最大一直在最上面

select

case

when grouping(店鋪名稱)=1

then

"彙總"

else 店鋪名稱 end 店鋪名稱,

round

(sum

(交易金額),2

)as 銷售額求和

from test

group

by 店鋪名稱 with rollup

order

by 銷售額求和 desc

;

coalesce 加彙總,作用類似於方案一中的case when,、都是使用with rollup進行彙總

select

coalesce

(`店鋪名稱`

,'彙總'

)as 店鋪,

round

(sum

(交易金額),2

)as 銷售總額

from test

group

by`店鋪名稱`

with rollup

order

by 銷售總額 desc

if 相當於用條件判斷新增了一列隱藏列,order by先對店鋪進行排序再對銷售額排序,這樣彙總行就跑最下面去了,因為彙總行的索引為1,其他店鋪名稱的索引都是0

select

coalesce

(`店鋪名稱`

,'彙總'

)as 店鋪,

round

(sum

(交易金額),2

)as 銷售總額

from test

group

by`店鋪名稱`

with rollup

order

byif

(店鋪 =

'彙總',1

,0),銷售總額 desc

sql1 union sql2

union 相當於追加查詢,把兩個查詢結果拼接再一起

(

select

`店鋪名稱`

,round

(sum

(交易金額),2

)as 銷售總額

from test group

by`店鋪名稱`

order

by 銷售總額 desc

)union

(select

'彙總'

,round

(sum

(交易金額),2

)as 銷售總額

from test)

查詢排序演算法彙總

排序經常作為其他演算法的輔助演算法出現在各種場合,下面對排序來做乙個彙總 1 氣泡排序 思想 相鄰的兩個數比較,較小 大 的那個數向上移動 冒泡 而後最小 大 的數漂到最頂端 實現 樸素版 void bubblesort int a,int size if bubble break 氣泡排序的演算法...

MySQL 連線查詢彙總

mysql 連線查詢 連線查詢 把多張表進行記錄的連線 按照某個條件進行資料的拼接 分類 1,內鏈結 2,外連線 左外 右外 3,自然連線 4,交叉連線 mysql 內鏈結 inner join inner關鍵字可以省略 inner join比left join快 從左表中取出每一條記錄,與右表中的...

mysql查詢字段排序 mysql 排序查詢字段

mysql 排序查詢字段 閱讀 504 排序查詢 語法 select 查詢欄位1 from 表 where 篩選條件 order by 要排序欄位2 asc公升序 desc 降序,要排字段3 asc公升序 desc降序 如果不寫預設為公升序 案例 查詢員工資訊,要求工資從高到低排序 select f...