Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में LIMIT का उपयोग करके मिलान करने वाली दोहराई गई दिनांक रिकॉर्ड्स को केवल एक बार प्रदर्शित करना

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 के समान

अन्य डुप्लिकेट-हैंडलिंग तकनीकें

लक्ष्यतकनीकउदाहरण
अद्वितीय मानDISTINCTSELECT DISTINCT DueDate FROM DemoTable1450
प्रति समूह पहली पंक्तिROW_NUMBER() विंडो फ़ंक्शनMySQL 8.0+ में उपलब्ध
डुप्लिकेट हटाएंDELETE JOIN या ROW_NUMBER()उन्नत तकनीक
गिनती के साथ समूहित करेंGROUP BY + COUNTSELECT DueDate, COUNT(*) FROM ... GROUP BY DueDate

सर्वोत्तम अभ्यास

  • LIMIT के साथ ORDER BY का उपयोग करें ताकि कौन सी पंक्ति लौटाई जाए यह सुनिश्चित हो
  • बड़े परिणाम सेट के लिए, LIMIT पृष्ठांकन के लिए कुशल है
  • याद रखें: LIMIT के बिना ORDER BY अनिर्धारित पंक्ति क्रम देता है
  1. - MySQL में GROUP BY से तारीखों के अनुसार रिकॉर्ड समूहित करें

    GROUP BY से ग्राहकवार न्यूनतम और अधिकतम शिपिंग तारीख प्राप्त करें ग्राहक नाम के अनुसार तारीखों को समूहित करके प्रत्येक ग्राहक की पहली और अंतिम शिपिंग तारीख पाएं। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2002 ( CustomerName varchar(20), CustomerShippingDate datetime ); Query OK, 0 ro

  1. - MySQL में रिकॉर्ड डालते समय तारीख को फॉर्मेट कैसे करें

    समाधान INSERT स्टेटमेंट में DATE_FORMAT() फंक्शन का उपयोग करें। उदाहरण टेबल बनाएं: CREATE TABLE DemoTable2012 (ShippingDate VARCHAR(20)); फॉर्मेटेड तारीख डालें: INSERT INTO DemoTable2012 VALUES (DATE_FORMAT(2014-01-21, %d.%m.%Y)); परिणाम +--------------+ | ShippingDate | +--------------+ | 21.1

  1. - MySQL में TRUE/FALSE रिकॉर्ड को 0/1 के रूप में प्रदर्शित करें

    समाधान कॉलम को BOOLEAN (TINYINT(1) का पर्याय) के रूप में परिभाषित करें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2035 (Name, isMarried) VALUES (Chris, TRUE), (David, FALSE), (Bob, TRUE), (Mike, FALSE); परिणाम +----+-------+-----------+ | Id | Name | isMarried | +----+-------+----