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

SQL Server のテーブルにない乱数を生成する

    さらに別のオプションとして、私はずっと NEWID() が好きでした ランダムな順序付け、およびクロス結合により多くの行が非常に効率的に作成されます:

    ;with cte AS (SELECT 1 n UNION ALL SELECT 1)
         ,cte2 AS (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY a.n) n
                   FROM cte a,cte b,cte c,cte d, cte e, cte f, cte g)
    SELECT TOP 1 n
    FROM cte2 a
    WHERE NOT EXISTS (SELECT 1
                      FROM randomNums b
                      WHERE a.n = b.num)
    ORDER BY NEWID()
      

    デモ:SQL フィドル



    1. MySQLは最新の行のみに参加しますか?

    2. DQLのネストされたサブクエリのエラー:クラス'('が定義されていません

    3. Google Maps APIを使用して、現在のGPS座標をmySQLデータベースに送信します

    4. Pycharmエラー:正しく構成されていません