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

MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?


IF() फ़ंक्शन का उपयोग

यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें:

select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName;

टेबल बनाना और डेटा डालना

mysql> create table demo30 (
    -> id int not null auto_increment primary key,
    -> value int,
    -> original_value int
    -> );
Query OK, 0 rows affected (1.87 sec)

mysql> insert into demo30(value,original_value) values(50,10);
mysql> insert into demo30(value,original_value) values(1000,0);
mysql> insert into demo30(value,original_value) values(0,40);
mysql> insert into demo30(value,original_value) values(30,0);

डेटा देखना

+----+-------+----------------+
| id | value | original_value |
+----+-------+----------------+
| 1  | 50    | 10             |
| 2  | 1000  | 0              |
| 3  | 0     | 40             |
| 4  | 30    | 0              |
+----+-------+----------------+

क्वेरी और परिणाम

mysql> select id, if(original_value= 0, value, original_value) as Result from demo30;
+----+--------+
| id | Result |
+----+--------+
| 1  | 10     |
| 2  | 1000   |
| 3  | 40     |
| 4  | 30     |
+----+--------+

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my

  1. - MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल से एक कॉलम का मान दूसरे कॉलम से प्राप्त करें

    MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल (@var) का उपयोग करके पिछली पंक्ति के मान के आधार पर वर्तमान पंक्ति के लिए चल योग (क्यूमुलेटिव सम) या अन्य व्युत्पन्न मान की गणना कर सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1868 (Value INT); डेटा डालें mysql> INSERT INTO DemoTable1868 VALUES(10), (2

  1. - MySQL में VARCHAR कॉलम से अधिकतम मान कैसे प्राप्त करें

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO