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

फ़ील्ड और माता-पिता द्वारा MySQL आदेश

आपको बेहतर तरीके से parent_id रखना चाहिए लेकिन माता-पिता का नाम नहीं।

यहां आपकी तालिका को ऑर्डर करने का त्वरित समाधान है http://sqlfiddle.com/#!9/2a1fb /3

SELECT *
FROM table1
ORDER BY 
   CASE WHEN parent_id IS NULL THEN CAST(ID AS CHAR)
   ELSE CONCAT(CAST(parent_id AS CHAR),'-', CAST(ID AS CHAR)) END

1 संपादित करें वेरिएंट #2 :-) http://sqlfiddle.com/#!9/76dcb/23

SELECT t1.* 
FROM table1 t1
LEFT JOIN table1 t2
ON t2.ID = t1.parent_id
ORDER BY 
   CASE WHEN t2.ord_idx IS NULL THEN CAST(t1.ord_idx AS CHAR)
   ELSE CONCAT(CAST(t2.ord_idx AS CHAR),'-',CAST(t1.ord_idx AS CHAR)) END

2 संपादित करें यह देखने के लिए कि यह आदेश कैसे काम करता है, आप इस फ़ील्ड को कुछ चुनिंदा भाग में जोड़ सकते हैं जैसे:

SELECT t1.*, CASE WHEN t2.ord_idx IS NULL THEN CAST(t1.ord_idx AS CHAR)
   ELSE CONCAT(CAST(t2.ord_idx AS CHAR),'-',CAST(t1.ord_idx AS CHAR)) END as my_order 
FROM table1 t1
LEFT JOIN table1 t2
ON t2.ID = t1.parent_id
ORDER BY 
   CASE WHEN t2.ord_idx IS NULL THEN CAST(t1.ord_idx AS CHAR)
   ELSE CONCAT(CAST(t2.ord_idx AS CHAR),'-',CAST(t1.ord_idx AS CHAR)) END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे एकाधिक डेटाबेस के साथ एक बहु किरायेदार आवेदन बनाने के लिए Laravel 5 में आर्केस्ट्रा / किरायेदारी का उपयोग करने के लिए?

  2. Yii ढांचे में मानदंड में स्थिति php

  3. mysql-कनेक्टर-अजगर, mysql-कनेक्टर-अजगर-आरएफ और mysql-कनेक्टर-repackaged के बीच अंतर क्या हैं?

  4. टर्मिनल में सबसे अच्छा प्रदर्शन कैसे करें एक MySQL चयन बहुत सारे फ़ील्ड लौटा रहा है?

  5. MySQL सीमांकक सिंटैक्स त्रुटि