समाधान: ABS() फ़ंक्शन
दो संख्याओं के बीच का निरपेक्ष अंतर (हमेशा धनात्मक) प्राप्त करने के लिए ABS() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT ABS(FirstNumber - SecondNumber) AS diff FROM yourTableName ORDER BY diff DESC;
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE findDifferenceDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstNumber FLOAT,
-> SecondNumber FLOAT
-> );
mysql> INSERT INTO findDifferenceDemo(FirstNumber, SecondNumber) VALUES
-> (4.2, 2.3), (23.4, 5.6), (5.8, 34.56), (7.8, 7.2), (12.8, 10.2);
निरपेक्ष अंतर क्वेरी
mysql> SELECT ABS(FirstNumber - SecondNumber) AS diff
-> FROM findDifferenceDemo
-> ORDER BY diff DESC;
परिणाम
| diff | गणना |
|---|---|
| 28.76 | |5.8 - 34.56| = 28.76 |
| 17.80 | |23.4 - 5.6| = 17.8 |
| 2.60 | |4.2 - 2.3| = 1.9 ≈ 2.6 |
| 1.90 | |12.8 - 10.2| = 2.6 ≈ 1.9 |
| 0.60 | |7.8 - 7.2| = 0.6 |
उपयोग के मामले
- समानता खोज: समान मान ढूंढना (छोटा अंतर)
- विसंगति पहचान: अपेक्षित से बड़ा विचलन
- दूरी गणना: निर्देशांक के बीच दूरी
- गुणवत्ता नियंत्रण: सहनशीलता जांच
संबंधित फ़ंक्शन
| फ़ंक्शन | उपयोग | उदाहरण |
|---|---|---|
| ABS(x) | निरपेक्ष मान | ABS(-5) = 5 |
| SIGN(x) | चिह्न (-1, 0, 1) | SIGN(-5) = -1 |
| GREATEST(x,y) | अधिकतम | GREATEST(5,10) = 10 |
| LEAST(x,y) | न्यूनतम | LEAST(5,10) = 5 |
फ्लोटिंग पॉइंट सटीकता नोट
परिणाम में 28.760001182556152 जैसी लंबी दशमलव हो सकती है। प्रदर्शन के लिए ROUND() या DECIMAL प्रकार का उपयोग करें।