मेरे पास एक सर्वर सफेद मिनीगेम्स है, और मुझे अपने डेटाबेस को सफेद करने में समस्या है, मुझे MySQL की क्वेरी में केवल दूसरा सर्वश्रेष्ठ स्कोर नाम प्राप्त करने की आवश्यकता है .. क्या कोई मेरी मदद कर सकता है? यह मेरा डेटाबेस है:
डेटाबेस
name | kills
------+------
Leon | 22
Andy | 14
Brian | 8
मुझे एंडी से सिर्फ एंडी नाम लेने और मारने की जरूरत है! कोड:
"SELECT * FROM `DATA_BASE` ORDER BY `kills` DESC"
कृपया मेरी मदद करें! क्या मैं ऐसा करने के लिए सीमा का उपयोग कर सकता हूं? मुझे क्या करना चाहिए? थक्सो
5 जवाब
यह काम कर जाना चाहिए :
SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1 OFFSET 1;
LIMIT 1
चयनित पंक्तियों की संख्या को सीमित करता है और OFFSET 1
पंक्तियों को 1 से ऑफसेट करता है जिसके परिणामस्वरूप केवल दूसरी पंक्ति का चयन किया जाता है।
आप LIMIT
कीवर्ड का उपयोग इस प्रकार कर सकते हैं:
SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1, 1
उसकी कोशिश करो। एक 1 रिकॉर्ड तक सीमित होना चाहिए और रिकॉर्ड 2 पर शुरू होना चाहिए।
"SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 1 OFFSET 1"
प्रयत्न:
SELECT name FROM DATA_BASE ORDER BY kills DESC LIMIT 1,1
यह केवल दूसरा सबसे अच्छा लौटाना चाहिए, क्योंकि हम 1 विकल्प (दूसरा नंबर) चाहते हैं और हम इसे 1 (पहली संख्या) से ऑफसेट करना चाहते हैं।
SELECT * FROM (SELECT * FROM DATA_BASE ORDER BY kills DESC LIMIT 2) AS DB ORDER BY kills LIMIT 1;
हम MAX नेटिव फ़ंक्शन का उपयोग करके LIMIT का उपयोग किए बिना भी ऐसा कर सकते हैं:
SELECT MAX(kills) FROM DATA_BASE WHERE kills NOT IN ( SELECT Max(kills) FROM DATA_BASE);
जो पहले वाले की तुलना में काफी आसान है
संबंधित सवाल
नए सवाल
php
PHP एक व्यापक रूप से उपयोग किया जाता है, उच्च-स्तरीय, गतिशील, वस्तु-उन्मुख, और व्याख्या की गई स्क्रिप्टिंग भाषा मुख्य रूप से सर्वर-साइड वेब विकास के लिए डिज़ाइन की गई है। PHP भाषा के बारे में सवालों के लिए इस्तेमाल किया।