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

SQLで2列で並べ替える方法は?

    問題:

    特定のテーブルのレコードを2列で並べ替えて表示する必要があります。

    例:

    私たちのデータベースには、employee 次の列を使用:idfirst_namelast_name 、およびsalary

    id first_name last_name 給与
    1 リサ ウルマン 3000
    2 エイダ ミューラー 2400
    3 トーマス 2400
    4 マイケル ミューラー 3000
    5 メアリー 2400

    各従業員のすべての情報を表示しますが、最初に給与の降順で、次に姓の昇順でレコードを並べ替えます。

    解決策:

    SELECT id,  
      first_name,
      last_name,
      salary
    FROM employee
    ORDER BY salary DESC, last_name;
    

    このクエリは、次の2つの列に従って並べ替えられたレコードを返します。 salary およびlast_name

    <
    id first_name last_name 給与
    4 マイケル M uller 3000
    1 リサ U lman 3000
    3 トーマス G reen 2400
    5 メアリー G reen 2400
    2 エイダ M uller 2400

    ディスカッション:

    テーブルからレコードを選択したいが、それらを2つの列に従ってソートしたい場合は、ORDER BYを使用して行うことができます。 。この句は、SQLクエリの最後にあります。

    ORDER BYの後 キーワードに、レコードを最初に並べ替える列の名前(この例では、給与)を追加します。次に、カンマの後に2番目の列を追加します(この例では、last_name )。列ごとに個別に並べ替え順序(昇順または降順)を変更できます。昇順(低から高)を使用する場合は、ASCを使用できます。 キーワード;ただし、このキーワードはオプションです。何も指定されていない場合のデフォルトの順序です。降順を使用する場合は、DESCを入力します 適切な列の後のキーワード(この例では、salaryに降順を使用しました 列)。

    この例では、最初に結果を給与の降順(高い給与から低い給与)で並べ替え、次に、すでに並べ替えられたレコード内で姓の昇順で並べ替えました。


    1. データベースのメンテナンスを容易にするためのモデル化方法

    2. SQLServerで順列を生成する最も洗練された方法

    3. SQLServerの現在のセッションの日付形式を変更する

    4. マテリアライズド・ビューが常に最新であることを確認するにはどうすればよいですか?