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

特定の行セットに対して何らかのイテレータ(または人工ID)を作成するにはどうすればよいですか?

    row_number()を使用できるはずです (これはウィンドウ関数 です。 )必要な「イテレータ」を割り当てます。これにより、各行にシーケンス番号が作成されます:

    select *
    from
    (
      select col,
         row_number() over(order by col) rn
      from yourtable
    ) src
    order by random()
    

    SQL Fiddle withDemo を参照してください。



    1. SQL Server AlwaysOn(可用性グループ)アーキテクチャとステップバイステップのインストール-1

    2. SQLServerブラウザを起動できません

    3. Mysqlポートはすでに使用されています

    4. mysql関数の英数字テキストから先行ゼロをトリミングする方法