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

मैं इस SQL ​​​​क्वेरी को दो फ़ील्ड के बजाय दो पंक्तियों को आउटपुट करने के लिए कैसे प्राप्त करूं?

मैं इसे MySQL हैकिंग कहता हूं..

select @a as one
from
(

    SELECT @a := a.id, @b := b.id
    FROM Rankable a
    INNER JOIN Rankable b on a.id < b.id
    WHERE 
      a.category_id = ? AND b.category_id = ?
      AND NOT EXISTS (
        SELECT *
        FROM Comparison c
        WHERE c.lower_id in (a.id, b.id))
      AND NOT EXISTS (
        SELECT *
        FROM Comparison c
        WHERE c.higher_id IN (a.id, b.id))
    ORDER BY a.id * rand()
    LIMIT 1
) SQ
union all
select @b

अन्य सभी कॉलम प्राप्त करने के लिए तालिका में शामिल होने के लिए:

select Rankable.*
from
(
    select 1 as Sort, @a as one
    from
    (

        SELECT @a := a.id, @b := b.id
        FROM Rankable a
        INNER JOIN Rankable b on a.id < b.id
        WHERE 
          a.category_id = ? AND b.category_id = ?
          AND NOT EXISTS (
            SELECT *
            FROM Comparison c
            WHERE c.lower_id in (a.id, b.id))
          AND NOT EXISTS (
            SELECT *
            FROM Comparison c
            WHERE c.higher_id IN (a.id, b.id))
        ORDER BY a.id * rand()
        LIMIT 1
    ) SQ
    union all
    select 2, @b
) X
INNER JOIN Rankable ON Rankable.Id = X.one
ORDER BY X.Sort


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में अद्यतन अर्धविराम को बदलें सिंटैक्स त्रुटि प्राप्त करता है

  2. रेल 2.3.3 - उत्पादन मोड में सेट करना

  3. शेल स्क्रिप्ट से MySQL कमांड कैसे निष्पादित करें?

  4. उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ) के लिए प्रवेश अस्वीकृत - कोई विशेषाधिकार नहीं?

  5. मैं MySQL प्रश्नों को चलाने के लिए jQuery का उपयोग कैसे कर सकता हूं?