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

1つの行を選択する方法1億x

    ブルーノのソリューションを少し修正する

    SELECT (SELECT COALESCE(max(id),0)+1 FROM table1), 
            @rownum:[email protected]+1 new_id 
    FROM 
    (SELECT @rownum:=0) r, 
    (SELECT 1 UNION ALL SELECT 2) t1,
    (SELECT 1 UNION ALL SELECT 2) t2,
    (SELECT 1 UNION ALL SELECT 2) t3,
    (SELECT 1 UNION ALL SELECT 2) t4,
    (SELECT 1 UNION ALL SELECT 2) t5,
    (SELECT 1 UNION ALL SELECT 2) t6,
    (SELECT 1 UNION ALL SELECT 2) t7
    LIMIT 100
    

    または変数のない別のバージョン

    SELECT (SELECT Coalesce(MAX(id), 0) + 1
            FROM   table1),
           t1.n * 10 + t2.n + 1 AS new_id
    FROM   (SELECT 0 AS n UNION ALL
            SELECT 1      UNION ALL
            SELECT 2      UNION ALL
            SELECT 3      UNION ALL
            SELECT 4      UNION ALL
            SELECT 5      UNION ALL
            SELECT 6      UNION ALL
            SELECT 7      UNION ALL
            SELECT 8      UNION ALL
            SELECT 9) t1,
           (SELECT 0 AS n UNION ALL
            SELECT 1      UNION ALL
            SELECT 2      UNION ALL
            SELECT 3      UNION ALL
            SELECT 4      UNION ALL
            SELECT 5      UNION ALL
            SELECT 6      UNION ALL
            SELECT 7      UNION ALL
            SELECT 8      UNION ALL
            SELECT 9) t2
    ORDER  BY new_id  
    


    1. ポーランド語の文字を使用して注文する

    2. WHERE条件の値のリストを含むパンダのread_sql

    3. ifステートメントを使用したMysqlの更新

    4. PostgreSQL-HTMLエンティティを置き換えます