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

मुझे एक सरणी में इसके सटीक अनुक्रम के आधार पर डेटा खींचने की आवश्यकता है

विचार यह है कि परिणाम को सरणी में उनकी संबंधित स्थिति से क्रमबद्ध किया जाए। इस मामले में MySQL FIND_IN_SET फ़ंक्शन आपकी मदद कर सकता है।

आप कथन द्वारा निम्नलिखित आदेश जोड़ सकते हैं:

ORDER BY FIND_IN_SET(car.id,'3,10,7')

नोट: आपको इस ऑर्डर को अपने समकक्ष cake php mysql . में स्टेटमेंट द्वारा कन्वर्ट करना होगा सवाल।

FIND_IN_SET

नमूना इनपुट:

क्वेरी:

SELECT *
FROM cars
id
2
3
4
5
6
7
8
9
10
11

आउटपुट:

क्वेरी:

SELECT *
FROM cars
WHERE cars.id IN (3,10,7)
ORDER BY FIND_IN_SET(cars.id,'3,10,7')
id
3
10
7

SQLFIDDLE डेमो यहां देखें

संपादित करें:

मुझे नहीं पता CAKE PHP syntax mysql क्वेरी बनाने में।

लेकिन समकक्ष क्वेरी cake php mysql . में ऐसा कुछ हो सकता है:

$cars = $this->car->find('all', array(
        'conditions' => array(
            'car.id' => array(3, 10, 7)
        ),
        'limit' => 3, 
        'order' => array(FIND_IN_SET('car.id' , '3,10,7'))
    ));



  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 सर्वर से कनेक्शन टूट गया, सिस्टम त्रुटि:0

  2. एकाधिक खोज स्ट्रिंग के साथ MySQL find_in_set

  3. UTF-8:डेटाबेस में सही ढंग से दिखा रहा है, हालांकि utf-8 वर्णसेट के बावजूद HTML में नहीं है

  4. mysql में varchar में संग्रहीत तिथियों के बीच डेटा खोजना

  5. Mysql में दो उपयोगकर्ता के संचार के बीच नवीनतम संदेश का चयन करें