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

MySQL में टेबल से बराबर या निकटतम बड़ी संख्या चुनें

MySQL में किसी दिए गए मान के बराबर या उससे निकटतम बड़ी संख्या को टेबल से चुनने के लिए, ABS() फंक्शन और ORDER BY के साथ LIMIT का उपयोग करें।

पहले एक टेबल बनाते हैं:

mysql> create table DemoTable ( 
    -> Value INT 
    -> ); 
Query OK, 0 rows affected (1.33 sec)

रिकॉर्ड इन्सर्ट करें:

mysql> insert into DemoTable values(25); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(75); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(100); 
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड देखें:

mysql> select * from DemoTable;
+-------+
| Value |
+-------+
|    25 |
|    75 |
|   100 |
+-------+
3 rows in set (0.00 sec)

मान लीजिए हमें 50 के बराबर या निकटतम बड़ी संख्या चाहिए। क्वेरी:

mysql> select * from DemoTable 
    -> ORDER BY ABS(Value - 50), Value DESC 
    -> LIMIT 1;

परिणाम:

+-------+
| Value |
+-------+
|    75 |
+-------+
1 row in set (0.00 sec)

व्याख्या

  • ABS(Value - 50) - प्रत्येक मान और लक्ष्य मान (50) के बीच का निरपेक्ष अंतर निकालता है।
  • ORDER BY ABS(Value - 50), Value DESC - पहले अंतर के आरोही क्रम में, फिर मान के अवरोही क्रम में सॉर्ट करता है।
  • LIMIT 1 - केवल पहला रिकॉर्ड लौटाता है।

इस उदाहरण में:

ValueABS(Value-50)
2525
7525
10050

25 और 75 दोनों का अंतर 25 है, लेकिन Value DESC के कारण 75 पहले आता है (क्योंकि यह 50 से बड़ा है)।

वैकल्पिक दृष्टिकोण

यदि आप केवल बड़ी या बराबर संख्या चाहते हैं (निकटतम नहीं):

SELECT * FROM DemoTable 
WHERE Value >= 50 
ORDER BY Value ASC 
LIMIT 1;

यह 50 से बड़ी या बराबर सबसे छोटी संख्या देगा (इस मामले में 75)।

  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के डेटा से मान डालें

    MySQL में INSERT INTO ... SELECT स्टेटमेंट का उपयोग करके एक टेबल से डेटा चुनकर दूसरी टेबल में डाल सकते हैं। यह डेटा माइग्रेशन, आर्काइविंग, रिपोर्टिंग टेबल भरने, और ETL प्रक्रियाओं के लिए मूलभूत तकनीक है। सिंटैक्स INSERT INTO target_table (col1, col2, col3) SELECT col1, col2, col3 FROM source_table

  1. - MySQL में महीने के अनुसार कुल राशि (SUM) कैसे प्राप्त करें?

    MySQL में MONTH() और YEAR() फ़ंक्शन के साथ GROUP BY का उपयोग करके महीने के अनुसार राशि का योग निकाला जा सकता है। उदाहरण खरीद तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -> PurchaseDate DATE, -> Amount INT -> ); डेटा डालें: mysql> INSERT INTO DemoTable VALUES ->

  1. - MySQL में DISTINCT कॉलम से औसत कैसे चुनें?

    MySQL में विशिष्ट (DISTINCT) मानों के आधार पर औसत निकालने के लिए, सबक्वेरी में DISTINCT का उपयोग करके डुप्लिकेट हटाएं, फिर बाहरी क्वेरी में AVG() लागू करें। उदाहरण: विशिष्ट छात्र-मान संयोजनों का औसत डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1934 ( StudentName VARCHAR(20), StudentMa