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

मैसकल - मैं बारी-बारी से (1,2,3, 1, 2, 3, 1, 2, 3,) पंक्तियों से परिणाम कैसे ऑर्डर करूं, क्या यह संभव है?

उपयोग करें:

SELECT x.client_id, 
       x.project_id,
       x.project_name
  FROM (SELECT t.client_id,
               t.project_id,
               t.project_name,
               CASE
                 WHEN @client_id != t.client_id THEN @rownum := 0
                 WHEN @client_id = t.client_id THEN @rownum := @rownum + 1
                 ELSE @rownum 
               END AS rank,
               @client_id := t.client_id
          FROM TABLE t,
               (SELECT @rownum := 0, @client_id
      ORDER BY t.client_id) r) x
ORDER BY x.rank, x.client_id

MySQL में कोई रैंकिंग कार्यक्षमता नहीं है, लेकिन सौभाग्य से आप चर का उपयोग कर सकते हैं। जब क्लाइंट_आईडी पिछले क्लाइंट_आईडी से मेल नहीं खाती, तो कुंजी @rownum मान को रीसेट कर रही थी - सबक्वेरी में ORDER BY यह सुनिश्चित करने के लिए है कि क्लाइंट क्रम में हैं।



  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 टिनींट (1) सिस्टम। बूलियन। पार्स फॉर्मेट एक्सेप्शन

  2. PHP/MySQL में क्या मुझे एकाधिक डेटाबेस कनेक्शन खोलना चाहिए या 1 साझा करना चाहिए?

  3. pdo mysql लेनदेन को समझना

  4. opencart - टेम्पलेट फ़ाइल के अंदर मॉड्यूल को मैन्युअल रूप से कैसे प्रदर्शित करें?

  5. MySQL में अनुदान देखें