2011-06-22 16 views
5

मैं अपने डेटाबेस के अंतिम 10 परिणामों को पुनर्प्राप्त करने के लिए निम्न क्वेरी का उपयोग कर रहा हूं, लेकिन मुझे उनको अवरोही क्रम में नहीं होने की आवश्यकता है। क्या वैसे भी मैं इसे क्वेरी के साथ पूरा कर सकता हूं या क्या मुझे इसे php में संभालने की ज़रूरत है? आपकी सहायता के लिए धन्यवाद.क्वेरी परिणाम

SELECT * FROM MSG ORDER BY id DESC LIMIT 0,10 

उत्तर

4

कृपया अपनी समस्या को हल करने के लिए निम्न कोशिश

SELECT * FROM (SELECT * FROM MSG ORDER BY id DESC LIMIT 10) AS RequiredLimit ORDER BY id ASC 
4

चुनें * से (एमएसजी आदेश से चयन * द्वारा आईडी DESC LIMIT में 0,10) आईडी के आधार पर आदेश - काम करना चाहिए

3

MySQL उत्तरों के अलावा जो पहले से मौजूद हैं, आपके मूल परिणाम सेट पर array_reverse() का उपयोग करने के लिए एक PHP समाधान होगा।

1

एक नेस्टेड क्वेरी का उपयोग करते समय एक जवाब है, मेरा मानना ​​है कि यह नेस्टेड या उप-क्वेरी से दो क्वेरी निष्पादित करने के लिए अधिक अनुकूल है। ओवरहेड घटता है - अगर मैं गलत हूं तो मुझे सही करें।

मेरा सुझाव चाहते हैं:

$row_offset = get_result("SELECT COUNT(*) FROM MSG;") - 10; 

$rows = get_result("SELECT * FROM MSG LIMIT " . $row_offset . ", 10;"); 

(जाहिर है!) यह मानते हुए get_results() एक कस्टम समारोह क्वेरी को क्रियान्वित करने और मेज से डेटा लौटने है।

संबंधित मुद्दे