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

एसक्यूएल रैंकिंग समाधान

मेरे ब्लॉग के लेख से थोड़ी संशोधित क्वेरी:

SELECT  q.*,
        @r := @r + 1
FROM    (
        SELECT  @_acl_id := -1,
                @r := 0
        ) vars
STRAIGHT_JOIN
        (
        SELECT  acl.id AS acl_id, quote.id AS quote_id
        FROM    acl
        JOIN    quote
        ON      (acl.limiter IS NULL OR quote.reputation >= acl.limiter)
        ORDER BY
                acl.id ASC, quote.created_at DESC
        ) q
WHERE   CASE WHEN @_acl_id <> acl_id THEN @r := 0 ELSE 0 END IS NOT NULL
        AND (@_acl_id := acl_id) IS NOT NULL


  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 डंप का उपयोग कैसे करें

  2. MySQL, X के अंतिम घंटों के भीतर सभी परिणाम लौटाएं

  3. विंडोज़ पर MySQL c++ ड्राइवर कैसे स्थापित करें

  4. Mysql क्वेरी लॉजिक को Laravel क्वेरी बिल्डर में बदलें

  5. MySQL बिना रिकॉर्ड वाली तारीखों के लिए 0 की गिनती दिखाता है