sql >> Database >  >> RDS >> Mysql

Volgorde van evaluatie van verklaringen en toewijzing van variabelen in MySQL UNIONS

Verenig de toewijzing van @col niet met uw andere vragen.

Heb één query om een ​​waarde toe te kennen aan @col, en een aparte query om die record in uw resultaten op te nemen.

SELECT @col := col AS col    -- Fetch particular record given a value of
  FROM tbl                   -- "col", assigning the identifier to @col.
 WHERE col = 'd'



SELECT col                   -- Now include the above record in the
  FROM tbl                   -- Final result-set
WHERE col = @col

UNION ALL

SELECT col                   -- Fetch the immediately preceding record,
  FROM (  SELECT col         -- ordered by "col"
            FROM tbl
           WHERE col < @col
        ORDER BY col DESC
          LIMIT 1) preceding

UNION ALL

SELECT col                   -- Fetch the immediately following record,
  FROM (  SELECT col         -- ordered by "col"
            FROM tbl
           WHERE col > @col
        ORDER BY col ASC
          LIMIT 1) following
ORDER BY col ASC;


  1. H2-update met join

  2. Hoe voer je een PostgreSQL-query uit met een where-in-clausule die programmatisch meerdere kolommen bevat?

  3. Hoe maak je een tabel met een externe sleutelbeperking in SQL Server - SQL Server / TSQL-zelfstudie, deel 66

  4. mysql_connect():Geen dergelijk bestand of map