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

ランキング関数、OVER()、GROUP BY の関係を理解し​​ていますか?

    OVER() SQL Server が RANK() のようなものを決定する方法を正確に知るためには、句が必要です . RANK() とは SQL Server に順序付け基準を指定しないとどうなるでしょうか?レースの勝者は、最も速いタイム、最も遅いタイム、またはアルファベット順の最初の名前ですか?

    ORDER BY を削除する必要はありません ORDER BY を追加するときの句 OVER() 内の節 .これらは個別に使用されます - RANK() を決定するために 1 つ

    したがって、たとえば、レースの完走者を返したいが、最下位から 1 位に並べたい場合は、次のように言うことができます:

    SELECT 
      name, 
      finish_time, 
      [rank] = RANK() OVER (ORDER BY finish_time) -- fastest first
    FROM 
      dbo.race_table
    ORDER BY 
      finish_time DESC; -- fastest last
      

    1. 惑星の配置

    2. pymysql接続のselectクエリとfetchallは、「25.00」のような文字列ではなく、b「25.00」のようなバイトリテラルを持つタプルを返します

    3. xmlスキーマをpostgresにインポートして自動的にテーブルを作成し、それにxmlファイルを入力しますか?

    4. Oracle-FASTREFRESHとJOINSを使用してマテリアライズドビューを作成する方法