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

MySQL में डॉट वाले मानों (संस्करण संख्या) को कैसे क्रमबद्ध करें?

MySQL में डॉट वाले स्ट्रिंग्स (जैसे संस्करण संख्या '10.5', '20.5') को संख्यात्मक रूप से क्रमबद्ध करने के लिए CAST(... AS DECIMAL) का उपयोग करें।

समस्या

स्ट्रिंग के रूप में क्रमबद्ध करने पर: '10', '10.5', '11', '20', '20.5' (लेक्सिकोग्राफिक)

संख्यात्मक क्रम: 10, 10.5, 11, 20, 20.5

उदाहरण

mysql> CREATE TABLE DemoTable (Value VARCHAR(20));
mysql> INSERT INTO DemoTable VALUES ('20'), ('10.5'), ('11'), ('10'), ('20.5');

स्ट्रिंग क्रम (डिफ़ॉल्ट)

SELECT * FROM DemoTable ORDER BY Value;
+-------+
| Value |
+-------+
| 10    |
| 10.5  |
| 11    |
| 20    |
| 20.5  |
+-------+

संख्यात्मक क्रम (CAST के साथ)

mysql> SELECT * FROM DemoTable
    -> ORDER BY CAST(Value AS DECIMAL) ASC;

परिणाम

+-------+
| Value |
+-------+
| 10    |
| 10.5  |
| 11    |
| 20    |
| 20.5  |
+-------+

इस मामले में समान परिणाम

लेकिन '2', '10', '1.5' के लिए:

  • स्ट्रिंग: '1.5', '10', '2'
  • संख्यात्मक: 1.5, 2, 10

जटिल संस्करण के लिए (1.2.3)

ORDER BY 
    CAST(SUBSTRING_INDEX(Version, '.', 1) AS UNSIGNED),
    CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(Version, '.', 2), '.', -1) AS UNSIGNED),
    CAST(SUBSTRING_INDEX(Version, '.', -1) AS UNSIGNED)

MySQL 8.0+ विकल्प

ORDER BY CAST(Version AS DECIMAL(10,2))

नोट: DECIMAL सटीक अंकगणित के लिए, FLOAT/DOUBLE अनुमानित।

  1. - MySQL में COUNT और GROUP BY से विशिष्ट पैटर्न के विशिष्ट आइटम गिनें

    किसी कॉलम में विशिष्ट पैटर्न (जैसे John-%) से शुरू होने वाले मानों की प्रति-मान गणना करने के लिए LIKE फ़िल्टर के साथ COUNT() और GROUP BY का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1854 (Name VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1854 VALUES(John-Smith); mysql> I

  1. - MySQL में SELECT और SHOW कमांड के परिणामों को कैसे संयोजित करें

    समाधान उपयोगकर्ता-परिभाषित वेरिएबल (@) या सिस्टम वेरिएबल (@@) का उपयोग करके एक ही SELECT में कई मान दिखाएं। उपयोगकर्ता वेरिएबल SELECT @first_name AS EmployeeFirstName, @last_name AS EmployeeLastName; +-------------------+------------------+ | EmployeeFirstName | EmployeeLastName | +---------------

  1. - Apache के साथ MySQL का उपयोग करना

    आइए समझते हैं कि Apache के साथ MySQL का उपयोग कैसे करें: Apache एक वेब सर्वर सॉफ़्टवेयर है जिसे Apache सॉफ़्टवेयर फाउंडेशन द्वारा विकसित और रखरखाव किया जाता है। यह एक सॉफ़्टवेयर है जो वेब पेज एक्सेस करने के लिए उपयोगकर्ता से अनुरोध लेता है। HTTP अनुरोध पर कुछ सुरक्षा जांच की जाती है और फिर उपयोगक