/ / Php का उपयोग करके MySql से नाम और उपनाम से कैसे छाँटा जाए? - php, mysql, sql, sql-order-by

Php का उपयोग कर MySQL से नाम और उपनाम द्वारा क्रमबद्ध कैसे करें? - php, mysql, sql, sql-order-by

मैं जानता हूँ मैं यह कर सकता हूँ "SELECT * FROM members WHERE isHere = 0 ORDER BY surname" सदस्यों को पाने के लिए जो मेरे डेटाबेस से यहाँ नहीं हैं और उन्हें सॉर्ट करें। हालांकि अगर उनके उपनाम समान हैं तो मैं उन्हें नाम से छाँटना चाहता हूं। यह कैसे करना है पर कोई सुझाव?

उत्तर:

जवाब के लिए 0 № 1

आप कई स्तंभों द्वारा आदेश दे सकते हैं। ऐशे ही,

SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC, name ASC;

आप कई स्तंभों को सॉर्ट कर सकते हैं, और आप विभिन्न स्तंभों को सॉर्ट कर सकते हैं विभिन्न दिशाओं में, जिसका अर्थ है कि आप ASC द्वारा परिणाम-क्रमबद्ध कर सकते हैं जहाँ DESC नाम से।

जो आपके मामले में आवश्यक नहीं है, लेकिन सिर्फ जानकारी के लिए।


डिफ़ॉल्ट छँटाई मामले में असंवेदनशील फैशन होगा। यदि आप स्तंभ के लिए केस-संवेदी प्रकार चाहते हैं, तो a जोड़ें बायनरी एक कॉलम के लिए कीवर्ड।

ऐशे ही,

SELECT *
FROM members
WHERE isHere = 0
ORDER BY BINARY surname ASC, name ASC;

संदर्भ: http://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html


उत्तर № 2 के लिए 1

बस कई का उपयोग करें ORDER BY कई छँटाई विकल्पों का उपयोग करने के लिए खंड:

SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC,
name ASC

यह पहले उपनाम के आधार पर छाँटेगा, और यदि दो या अधिक उपयोगकर्ताओं के पास एक ही उपनाम है, तो आप उन्हें नाम से क्रमबद्ध कर सकते हैं। यदि आप चाहते थे, तो आप उम्र के अनुसार एक तिहाई प्रकार जोड़ सकते हैं।

SELECT *
FROM members
WHERE isHere = 0
ORDER BY surname ASC,
name ASC,
age DESC

जवाब के लिए 0 № 3

यदि आप पहले नाम चाहते हैं और फिर उपनाम इस तरह का उपयोग करते हैं

SELECT * FROM members WHERE isHere = 0 ORDER BY name asc,surname asc;

अगर आप पहले सरनेम चाहते हैं और फिर इस तरह से एम का उपयोग करें

SELECT * FROM members WHERE isHere = 0 ORDER BY surname asc,name asc;

परिवर्तन asc तथा desc के अनुसार छाँटने के अनुसार