sql >> Database teknologi >  >> RDS >> Mysql

Sådan vælger du en enkelt række a 100 millioner x

En lille ændring af Brunos løsning

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
 

Eller en anden version uden variablerne

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. Hvordan viser jeg en MySQL-fejl i PHP for en lang forespørgsel, der afhænger af brugerens input?

  2. SQL Developer 4.0 udgivet

  3. Tilslutning af Oracle 21c til SQL Server

  4. Sådan genereres dynamisk MYSQL UPDATE-sætning baseret på definerede variabler fra HTML FORM