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

MySQL - क्वेरी ऑर्डर करें और शीर्ष पर एक यादृच्छिक पंक्ति प्रदर्शित करें

order by का प्रयोग करें . यहाँ एक विधि है:

select t.*
from (select t.*, (@rn := @rn + 1) as seqnum
      from tickets t cross join
           (select @rn := 0) params
      order by vip desc, rand()
     ) t
order by (seqnum = 1) desc, price asc;

यह शीर्ष पर रखने के लिए एक पंक्ति की पहचान करने के लिए सबक्वेरी का उपयोग करता है। फिर यह इस जानकारी का उपयोग बाहरी क्वेरी में ऑर्डर करने के लिए करता है।

यदि आपकी पंक्तियों में एक विशिष्ट पहचानकर्ता है, तो आप यह भी कर सकते हैं:

select t.*
from tickets t cross join
     (select id from tickets where vip = 1 order by rand() limit 1) as t1
order by (t.id = t1.id) desc, price 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. PHP के साथ एकाधिक समान नाम वाले कॉलम के साथ MySQL पंक्ति से परिणाम कैसे प्राप्त करें?

  2. MYSQL - बाहरी कुंजी बनाना असंभव है

  3. बाएँ जॉइन का उपयोग करके MySQL में कई तालिकाओं को अद्यतन करें

  4. संग्रहीत कार्यविधि में गतिशील SQL का उपयोग करने के लिए समाधान क्या है

  5. Oracle क्लाउड प्लेटफ़ॉर्म पर MySQL डेटाबेस सेवा के साथ Oracle JDeveloper का उपयोग करना, भाग 2