MySQL LIMIT के साथ डुप्लिकेट दिनांक परिणाम सीमित करना
जब एक टेबल में डुप्लिकेट दिनांक मान होते हैं और आप केवल मिलान करने वाले रिकॉर्ड्स में से एक उदाहरण चाहते हैं, तो फ़िल्टर क्वेरी के साथ LIMIT 1 का उपयोग करें।
उदाहरण: वर्तमान दिनांक का पहला मिलान ढूंढना
मान लें वर्तमान दिनांक 2019-10-02 है।
mysql> CREATE TABLE DemoTable1450 (
-> DueDate DATE
-> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable1450 VALUES
-> ('2019-09-30'), ('2019-10-02'), ('2019-10-02'), ('2019-10-02');
Query OK, 4 rows affected (0.10 sec)
mysql> SELECT * FROM DemoTable1450;
+------------+
| DueDate |
+------------+
| 2019-09-30 |
| 2019-10-02 |
| 2019-10-02 |
| 2019-10-02 |
+------------+
4 rows in set (0.00 sec)
LIMIT 1 के साथ क्वेरी
mysql> SELECT * FROM DemoTable1450
-> WHERE DueDate = CURDATE()
-> LIMIT 1;
परिणाम
+------------+ | DueDate | +------------+ | 2019-10-02 | +------------+ 1 row in set (0.00 sec)
LIMIT क्लॉज विवरण
LIMIT n- अधिकतम n पंक्तियाँ लौटाता हैLIMIT offset, count- ऑफसेट छोड़ता है, फिर गिनती पंक्तियाँ लौटाता हैLIMIT 1 OFFSET 0-LIMIT 1के समान
अन्य डुप्लिकेट-हैंडलिंग तकनीकें
| लक्ष्य | तकनीक | उदाहरण |
|---|---|---|
| अद्वितीय मान | DISTINCT | SELECT DISTINCT DueDate FROM DemoTable1450 |
| प्रति समूह पहली पंक्ति | ROW_NUMBER() विंडो फ़ंक्शन | MySQL 8.0+ में उपलब्ध |
| डुप्लिकेट हटाएं | DELETE JOIN या ROW_NUMBER() | उन्नत तकनीक |
| गिनती के साथ समूहित करें | GROUP BY + COUNT | SELECT DueDate, COUNT(*) FROM ... GROUP BY DueDate |
सर्वोत्तम अभ्यास
- LIMIT के साथ ORDER BY का उपयोग करें ताकि कौन सी पंक्ति लौटाई जाए यह सुनिश्चित हो
- बड़े परिणाम सेट के लिए, LIMIT पृष्ठांकन के लिए कुशल है
- याद रखें: LIMIT के बिना ORDER BY अनिर्धारित पंक्ति क्रम देता है