04 排序與分頁

2022-10-08 18:24:12 字數 1646 閱讀 2906

如果沒有指定排序,順序按照新增順序顯示

# 不指定公升序降序, 預設公升序

# 公升序asc, 降序desc

# 排序

# 按照員工工資公升序排列

使用列名的別名進行排序

# 按照員工年工資排序

select employee_id,salary * 12 annual_sal from employees order by annual_sal asc;

# 列名的別名不能在where中使用

# 錯誤例子

select employee_id,salary * 12 annual_sal from employees where annual_sal>50000;

> 1054 - unknown column 'annual_sal' in 'where clause'

如果我們要通過幾個引數來進行排序就需要進行多級排序

# 基本語句

# 按照列名1的公升序、列名2的降序排列

# 這裡的排序優先順序是先按照列名1排序,只有列名1相同才回進行列名2的排序

order by 列名1 asc, 列名2 desc;

# 按照員工工資和id排序

通過limit顯示指定位置的內容來實現分頁

# limit 起始位置,顯示個數;

# 這裡的起始位置是從0開始的,相當於陣列的0位置,所以要顯示1-20,起始位置就是0

# 顯示1-20

select employee_id,first_name from employees limit 0,20;

# 顯示20-40

select employee_id,first_name from employees limit 20,20;

# 分頁計算

# 已知當前頁數與顯示個數

limit (當前頁數 - 1) * 顯示個數,顯示個數;

# 8.0 新特性

limit 顯示個數 offset 起始位置;

# 顯示1-20

select employee_id,first_name from employees limit 20 offset 0;

# 顯示20-40

select employee_id,first_name from employees limit 20 offset 20;

注:**順序 from ..... where ..... order by .... asc/desc limit **

04 排序 歸併排序

基本原理 對於給定的一組資料 假設有n個資料 首先將每兩個相鄰長度為1的子串行進行歸併,得到n 2個長度為2或者1的有序子串行,再將其兩兩合併,反覆此過程,得到乙個有序序列。package com.sort 歸併演算法 public class testmergesort else while i ...

MySQL筆記 04 排序查詢

select 查詢列表 from 表名 where 篩選條件 order by 排序列表 asc desc 案例1 查詢員工資訊,要求工資從高到低排序 select from employees order by salary desc 案例2 查詢部門編號大於等於90的員工資訊,要求按入職時間先後...

09 排序1 排序

09 排序1 排序 25 分 給定n 個 長整型範圍內的 整數,要求輸出從小到大排序後的結果。本題旨在測試各種不同的排序演算法在各種資料情況下的表現。各組測試資料特點如下 include include includeusing namespace std const int cutoff 1000...