निम्न तालिका पर विचार करें:मैं MySQL में कॉलम कैसे खो सकता हूं?
SELECT id, value FROM table ORDER BY id ASC;
+-----+---------+
| id | value |
+-----+---------+
| 12 | 158 |
| 15 | 346 |
| 27 | 334 |
| 84 | 378 |
| 85 | 546 |
+-----+---------+
id
स्तंभ ऑटो वृद्धि की जाती है, लेकिन अंतराल होता है। value
कॉलम संख्यात्मक है।
मैं ऊपर value
दो पंक्तियों के संबंध में value
की स्थापना करके समय के साथ value
में वृद्धि को देखने के लिए चाहते हैं। यह पंक्ति id=85
पंक्ति (334) के value
के संबंध में पंक्ति id=85
(546) सेट करना चाहता है। पंक्ति id=85
के लिए गणना की जाने वाली मान 546/334 = 1.63473 है।
SELECT id, value, ...;
+-----+---------+---------------------+
| id | value | value/lag(value, 2) | (the syntax value/lag(value, 2) is made up)
+-----+---------+---------------------+
| 12 | 158 | NULL |
| 15 | 346 | NULL |
| 27 | 334 | 2.11392 | (334/158=2.11392)
| 84 | 378 | 1.09248 | (378/346=1.09248)
| 85 | 546 | 1.63473 | (546/334=1.63473)
+-----+---------+---------------------+
मैं MySQL में इस तरह के चल करते हैं कैसे:
यह परिणाम मैं हासिल करना चाहते हैं?
कृपया ध्यान दें कि id
कॉलम में अंतराल है, इसलिए बस t1.id = t2.id - 2
के साथ एक ही तालिका में शामिल होने से काम नहीं करेगा।
वहाँ एसक्यूएल मानक में एक अंतराल() फंक्शन है, लेकिन MySQL इस का समर्थन नहीं करता है। –