Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL 5.7.5+ समूहों के लिए पहली पंक्ति प्राप्त करें

आपका ORDER BY व्युत्पन्न तालिका में सबक्वेरी को MySQL 5.7 में अनदेखा किया जाता है।

देखें https://dev.mysql.com/ doc/refman/5.7/hi/व्युत्पन्न-तालिका-अनुकूलन.html

आपकी बाहरी क्वेरी में JOIN और GROUP BY है, इसलिए यह ORDER BY को प्रचारित करने के योग्य नहीं है, इसलिए यह ORDER BY को अनदेखा कर देता है।

यह अनुकूलक व्यवहार अनुकूलक स्विच द्वारा नियंत्रित होता है derived_merge . आप इसे अक्षम कर सकते हैं।

डेमो:

mysql [localhost] {msandbox} (test) > select @@version;
+-----------+
| @@version |
+-----------+
| 5.7.21    |
+-----------+

mysql [localhost] {msandbox} (test) > SELECT     columnPrimaryKey,     column1,     column2,     column3 FROM     (SELECT         columnPrimaryKey,         column1,         column2,         column3     FROM testTable     ORDER BY column2 ) AS tbl GROUP BY column3;
+------------------+----------------+---------+---------+
| columnPrimaryKey | column1        | column2 | column3 |
+------------------+----------------+---------+---------+
|                1 | Some Name 8-4  |       4 |       8 |
|                6 | Some Name 9-1  |       1 |       9 |
|                8 | Some Name 10-2 |       2 |      10 |
+------------------+----------------+---------+---------+

mysql [localhost] {msandbox} (test) > set optimizer_switch = 'derived_merge=off';
Query OK, 0 rows affected (0.00 sec)

mysql [localhost] {msandbox} (test) > SELECT     columnPrimaryKey,     column1,     column2,     column3 FROM     (SELECT         columnPrimaryKey,         column1,         column2,         column3     FROM testTable     ORDER BY column2 ) AS tbl GROUP BY column3;
+------------------+----------------+---------+---------+
| columnPrimaryKey | column1        | column2 | column3 |
+------------------+----------------+---------+---------+
|                5 | Some Name 8-1  |       1 |       8 |
|                6 | Some Name 9-1  |       1 |       9 |
|                8 | Some Name 10-2 |       2 |      10 |
+------------------+----------------+---------+---------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केकेपीएचपी:त्रुटियों के बिना उत्पादन में डीबी स्कीमा परिवर्तन कैसे तैनात करें

  2. बिना किसी परेशानी के सेल्फ-होस्टेड वर्डप्रेस और लाइव साइट के इंस्टॉल किए गए प्लगइन्स को नवीनतम उपलब्ध संस्करणों में कैसे अपग्रेड करें?

  3. सेंटो पर mysqlclient स्थापित करने में असमर्थ

  4. कनेक्शन बंद किए बिना अजगर में अद्यतन MySQL तालिका प्रविष्टियां प्राप्त करें

  5. php और mysql के साथ विफल निष्पादन कथन