Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kolejność oceny instrukcji i przypisania zmiennych w UNIONS MySQL

Nie ŁĄCZ przypisania @col z innymi zapytaniami.

Miej jedno zapytanie, aby przypisać wartość do @col, i osobne zapytanie, aby uwzględnić ten rekord w wynikach.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (2006, „Serwer MySQL zniknął”) w WSGI django

  2. Oddzielna wartość pola bazy danych mySql oddzielona przecinkami za pomocą php

  3. Uporządkuj według sumy dwóch pól

  4. argument oddzielony przecinkami dla operatora IN, MySQL

  5. Po otwarciu pliku csv w WordPadzie nie chcę podwójnych cudzysłowów dla nazwy pola