欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL自定義order by排序規(guī)則的示例詳解

 更新時間:2025年07月16日 10:46:37   作者:小李大魔王  
這篇文章主要介紹了MySQL自定義order by排序規(guī)則的示例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

數(shù)據(jù)表

create table tb_user
(
    id      bigint auto_increment
        primary key,
    name    varchar(16)  not null,
    age     int          not null,
    address varchar(128) null
);
INSERT INTO test.tb_user (id, name, age, address) VALUES (1, '張三', 18, 'China');
INSERT INTO test.tb_user (id, name, age, address) VALUES (2, '李四', 19, 'China');
INSERT INTO test.tb_user (id, name, age, address) VALUES (3, 'jack', 20, 'America');
INSERT INTO test.tb_user (id, name, age, address) VALUES (4, 'jane', 22, 'America');
INSERT INTO test.tb_user (id, name, age, address) VALUES (5, 'pig', 19, 'Japan');
INSERT INTO test.tb_user (id, name, age, address) VALUES (6, 'cat', 22, 'Japan');

一、使用field()函數(shù)自定義順序

① 一個字段排序

優(yōu)先China,其次America,最后Japan

select
    name, address
from
    tb_user
order by
    field(address, 'China', 'America', 'Japan') asc

asc可省略,如果有些數(shù)據(jù)不在指定范圍內(nèi),則從最后開始按照默認(rèn)排序

② 多個字段排序

先按照address升序排序,相同再按照name降序排序

select
    name, address
from
    tb_user
order by
    field(address, 'China', 'America', 'Japan') asc,
    field(name, '李四', '張三', 'jane', 'jack') desc

二、使用case when自定義排序規(guī)則

① 一個字段

優(yōu)先China,其次America,最后Japan

select
    name, address
from
    tb_user
order by
    case address
        when 'China' then  1
        when 'America' then 2
        when 'Japan' then 3
    end,
    address asc

asc可省略

② 多個字段

先按照address排序,相同再按照name排序

select
    name, address
from
    tb_user
order by
    case address
        when 'China' then  1
        when 'America' then 2
        when 'Japan' then 3
    end,
    address asc,
    case name
        when '李四' then  1
        when '張三' then 2
        when 'jane' then 3
        when 'jack' then 4
    end,
    name desc

三、隨機(jī)排序

使用rand()函數(shù)隨機(jī)排序,不根據(jù)任何字段,每次的順序都是隨機(jī)的

select
    name, address
from
    tb_user
order by
    rand()

到此這篇關(guān)于MySQL自定義order by排序規(guī)則的示例詳解的文章就介紹到這了,更多相關(guān)mysql order by內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL簡單了解“order by”是怎么工作的

    MySQL簡單了解“order by”是怎么工作的

    在MySQl中ORDER BY 語句用于對結(jié)果集進(jìn)行排序,那么它是怎么工作的,以及如何優(yōu)化,下面由小編跟大家講一講
    2019-05-05
  • mysql中key 、primary key 、unique key 與index區(qū)別

    mysql中key 、primary key 、unique key 與index區(qū)別

    這篇文章主要介紹了mysql中key 、primary key 、unique key 與index區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法

    MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法

    但有時為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。下面的具體的方法大家可以參考下。多測試。
    2009-11-11
  • MySQL約束constraint用法詳解

    MySQL約束constraint用法詳解

    大家都知道MySQL中經(jīng)常會需要創(chuàng)建父子表之間的約束,下面這篇文章主要給大家介紹了關(guān)于MySQL約束constraint用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法

    MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value:‘

    這篇文章主要給大家介紹了關(guān)于MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xA9\x0D\x0A...'的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-04-04
  • MySQL動態(tài)修改varchar長度的方法

    MySQL動態(tài)修改varchar長度的方法

    這篇文章主要介紹了MySQL動態(tài)修改varchar長度的方法的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • MySQL中關(guān)于表的約束

    MySQL中關(guān)于表的約束

    在MySQL中,約束用于定義表的規(guī)則和限制,確保數(shù)據(jù)的準(zhǔn)確性和可靠性,主要類型包括NOT NULL、DEFAULT、PRIMARY KEY、AUTO_INCREMENT、UNIQUE KEY、FOREIGN KEY、CHECK和INDEX等,NOT NULL約束確保列不能存儲NULL值;DEFAULT設(shè)置默認(rèn)值
    2024-09-09
  • MySQL 中行轉(zhuǎn)列的方法

    MySQL 中行轉(zhuǎn)列的方法

    這篇文章主要介紹了MySQL 中行轉(zhuǎn)列的方法,幫助大家更好的理解和學(xué)習(xí)MySQL的使用,感興趣的朋友可以了解下
    2020-12-12
  • Mysql 數(shù)據(jù)庫訪問類

    Mysql 數(shù)據(jù)庫訪問類

    Mysql數(shù)據(jù)庫訪問類 實(shí)現(xiàn)代碼,對于想學(xué)習(xí)mysql操作類的朋友值得一看
    2009-02-02
  • mysql時間格式和Java時間格式的對應(yīng)方式

    mysql時間格式和Java時間格式的對應(yīng)方式

    這篇文章主要介紹了mysql時間格式和Java時間格式的對應(yīng)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論