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

MySQL में फ़ील्ड मान> 0 होने पर 1 से कैसे घटाएं?

<घंटा/>

आप इसके लिए UPDATE कमांड के साथ CASE स्टेटमेंट का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं -

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Value int
);
Query OK, 0 rows affected (1.44 sec)

इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें -

mysql> insert into DemoTable(Value) values(100);
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable(Value) values(0);
Query OK, 1 row affected (4.16 sec)
mysql> insert into DemoTable(Value) values(104);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Value) values(0);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(Value) values(5);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Value) values(10);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable(Value) values(0);
Query OK, 1 row affected (0.18 sec)

चुनिंदा कमांड का उपयोग करके तालिका से रिकॉर्ड प्रदर्शित करें -

mysql> select *from DemoTable;

यह निम्नलिखित आउटपुट देगा -

+----+-------+
| Id | Value |
+----+-------+
| 1  | 100   |
| 2  | 0     |
| 3  | 104   |
| 4  | 0     |
| 5  | 5     |
| 6  | 10    |
| 7  | 0     |
+----+-------+
7 rows in set (0.00 sec)

यदि फ़ील्ड मान 0 से अधिक है, तो घटाना के लिए शर्त सेट करने के लिए उपयोग करें यदि फ़ील्ड मान> 0 है, अन्यथा इसे वही रहने दें -

mysql> update DemoTable set Value=CASE WHEN Value > 0 THEN Value-1 ELSE 0 END;
Query OK, 4 rows affected (0.25 sec)
Rows matched: 7 Changed: 4 Warnings: 0

आइए एक बार फिर से टेबल रिकॉर्ड देखें -

mysql> select *from DemoTable;

यह निम्नलिखित आउटपुट देगा -

+----+-------+
| Id | Value |
+----+-------+
| 1  | 99    |
| 2  | 0     |
| 3  | 103   |
| 4  | 0     |
| 5  | 4     |
| 6  | 9     |
| 7  | 0     |
+----+-------+
7 rows in set (0.00 sec)

  1. MySQL में सटीक स्ट्रिंग मान की खोज कैसे करें?

    सटीक स्ट्रिंग मान खोजने के लिए, COLLATE की अवधारणा का उपयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.42 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1620 मानों में डालें (MYSQL) );क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) चयन कथन का उपयो

  1. MySQL में किसी अन्य फ़ील्ड से किसी फ़ील्ड का मान कैसे प्राप्त करें?

    इसके लिए आप उपयोगकर्ता परिभाषित चर की अवधारणा का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1868 (वैल्यू इंट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1868 मान (40) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभाव

  1. MySQL में अंत में किसी विशेष मान को कैसे क्रमबद्ध करें?

    इसके लिए आप ORDER BY का उपयोग कर सकते हैं। आइए एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.60 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - डेमो 57 (पूर्ण_नाम) मान (क्रिस ब्राउन) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.31 सेकंड) चयन कथन का उपयोग करके तालिका से रिकॉर