Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL UNIONs में स्टेटमेंट मूल्यांकन और वेरिएबल असाइनमेंट का क्रम

अपने अन्य प्रश्नों के साथ @col के असाइनमेंट को यूनियन न करें।

@col को मान निर्दिष्ट करने के लिए एक क्वेरी है, और उस रिकॉर्ड को अपने परिणामों में शामिल करने के लिए एक अलग क्वेरी है।

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. MySQL या MariaDB Galera क्लस्टर को कैसे बूटस्ट्रैप करें - अपडेट किया गया

  2. html तालिका में पंक्ति से डेटा के साथ फॉर्म में इनपुट फ़ील्ड कैसे भरें, जिसे मैं संपादित करना चाहता हूं

  3. किसी अन्य तालिका में MAX पंक्ति के साथ पंक्ति में शामिल हों?

  4. LOAD DATA LOCAL INFILE के साथ स्पेशल कैरेक्टर कैसे सेट करें?

  5. विदेशी कुंजी - वे मेरे लिए क्या करते हैं?