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

MySQL - प्रत्येक 'समूह' से केवल 2 पंक्तियों का चयन करें

आपके पास सही विचार है। हालांकि, MySQL अभिव्यक्तियों के मूल्यांकन के क्रम की गारंटी नहीं देता है। साथ ही, आपके पास group by position . है सबक्वेरी में।

तो मुझे लगता है कि आप शायद चाहें:

SELECT . . .
FROM (SELECT name, surname, position, value, points, 
             (@num := if(@type = position, @num + 1,
                         if(@type := position, 1, 1)
                        )
             ) AS row_number
      FROM players p CROSS JOIN
           (SELECT @num := 0, @type := '') params
      WHERE (name LIKE '%$searchphrase%' OR surname LIKE '%$searchphrase%') AND
            value >= '$minvalue' AND value <= '$maxvalue'
      ORDER BY position
     )  x
WHERE x.row_number <= 2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORDER BY और GROUP BY का एक साथ उपयोग करना

  2. MYSQL पैरेंट चाइल्ड सेम टेबल; माता-पिता के भीतर PHP घोंसला बच्चे एक बहुआयामी-सरणी के रूप में

  3. php . का उपयोग करके एक पीडीएफ फाइल पर mysql डेटाबेस तालिका सामग्री निर्यात करें

  4. मैं MySQL में DESC अनुक्रमणिका कैसे बनाऊँ?

  5. phpMyAdmin से mysql टाइमज़ोन बदलें