sql >> データベース >  >> RDS >> Database

SQLでソートする方法

    問題:

    SQLクエリの結果を昇順または降順で並べ替えます。

    例:

    私たちのデータベースには、salary_information id列にデータがあります 、first_namelast_name 、およびmonthly_earnings 。従業員をmonthly_earningsで並べ替えたい 降順。

    id first_name last_name monthly_earnings
    1 カルバン リオス 3500
    2 アラン パターソン 4000
    3 カート エバンス 2300
    4 アレックス ワトキンス 5500

    解決策:

    ORDER BYを使用します 句。クエリは次のとおりです:

    関数CURRENT_DATEを使用します 現在の日付を取得するには:

    	SELECT
    		first_name,
    		last_name,
    		monthly_earnings
    	FROM salary_information
    	ORDER BY monthly_earnings DESC
    

    クエリの結果は次のとおりです。

    first_name last_name monthly_earnings
    アレックス ワトキンス 5500
    アラン パターソン 4000
    カルバン リオス 3500
    カート エバンス 2300

    これで、アレックスワトキンスがリストの最初にいることがわかります。つまり、彼が最も多くのお金を稼いでいるということです。

    ディスカッション:

    ORDER BYを使用する データセットを昇順または降順で並べ替える場合は、句。 ORDER BYの構文 条項は次のとおりです:

    SELECT col1, col2, …
    FROM table
    ORDER BY col1, col2, … ASC|DESC;
    

    上記では、ASC|DESC キーワードASCのいずれかを選択する必要があることを意味します (昇順)またはDESC (降順)データセットを希望どおりに並べ替えます。

    数値列で並べ替えるだけでなく、テキスト列で並べ替えることもできます。 ORDER BY 句はテキスト列をアルファベット順にソートします。

    列名の代わりに、左から数えて列の位置を使用することもできます。したがって、この例では、次のように書く代わりに:

    ORDER BY monthly_earnings DESC
    

    次のように書くこともできます:

    ORDER BY 3 DESC
    

    例のテーブルをfirst_nameで並べ替える場合 列をアルファベット順(昇順)にすると、次のクエリを使用できます。

    SELECT
    	first_name,
    	last_name,
    	monthly_earnings
    FROM salary_information
    ORDER BY first_name ASC
    

    複数の列で並べ替えることができることも注目に値します。これは、特定の列の一部の値が繰り返され、追加の並べ替えが必要な場合に役立ちます。この場合、ORDERBY句で列名をコンマで区切ります。

    ある列で昇順で並べ替えたり、別の列で降順で並べ替えたりすることもできます。以下に、この組み合わせの構文を示します。

    	ORDER BY Col1 ASC, Col2 DESC;
    	

    ASCを省略した場合 またはDESC キーワードでは、昇順の並べ替えがデフォルトで実行されます。


    1. MariaDBでのCONVERT()のしくみ

    2. データベース開発自動化のためのDevOpsソリューション

    3. SQL-varcharデータ型を日時データ型に変換した結果、値が範囲外になりました

    4. SQLServerタスク自動化の基本