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

MySQL में तीसरे फ़ील्ड के मान के आधार पर दो फ़ील्ड्स में से एक कैसे चुनें? IF फ़ंक्शन

इसके लिए IF() फ़ंक्शन का उपयोग करें।

टेबल बनाएं

mysql> create table DemoTable (
    -> PlayerName varchar(100),
    -> PlayerScore int,
    -> PlayerStatus varchar(100)
    -> );
Query OK, 0 rows affected (0.58 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('John',88,'BAD');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Chris',78,'BAD');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Robert',90,'BAD');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David',80,'BAD');
Query OK, 1 row affected (0.23 sec)

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

mysql> select * from DemoTable;
+------------+-------------+--------------+
| PlayerName | PlayerScore | PlayerStatus |
+------------+-------------+--------------+
| John       | 88          | BAD          |
| Chris      | 78          | BAD          |
| Robert     | 90          | BAD          |
| David      | 80          | BAD          |
+------------+-------------+--------------+
4 rows in set (0.00 sec)

तीसरे फ़ील्ड के आधार पर दो फ़ील्ड्स में से एक चुनने का क्वेरी

mysql> select PlayerScore, IF(PlayerScore > 80, PlayerName, PlayerStatus) AS Result from DemoTable;

आउटपुट:

+-------------+--------+
| PlayerScore | Result |
+-------------+--------+
| 88          | John   |
| 78          | BAD    |
| 90          | Robert |
| 80          | BAD    |
+-------------+--------+
4 rows in set (0.00 sec)

व्याख्या:

  • IF(condition, true_value, false_value) - शर्त सत्य तो पहला, असत्य तो दूसरा
  • PlayerScore > 80 - 80 से अधिक अंक
  • सत्य: PlayerName लौटाता है (John, Robert)
  • असत्य: PlayerStatus लौटाता है (BAD)
  • 80 सख्ती से अधिक नहीं, इसलिए BAD

संबंधित: CASE WHEN ... THEN ... ELSE ... END जटिल शर्तों के लिए।

  1. - MySQL में दो तालिकाओं के अधिकतम मानों में से न्यूनतम मान कैसे प्राप्त करें?

    MySQL में UNION और सबक्वेरी का उपयोग करके दो तालिकाओं के अधिकतम मानों में से न्यूनतम मान प्राप्त किया जा सकता है। उदाहरण पहली तालिका: mysql> CREATE TABLE DemoTable1 (Value INT); mysql> INSERT INTO DemoTable1 VALUES (60), (78), (57); दूसरी तालिका: mysql> CREATE TABLE DemoTable2 (Value INT)

  1. - MySQL में सबक्वेरी और NOT IN से विशिष्ट मान न रखने वाले रिकॉर्ड खोजें

    एक कॉलम में विशिष्ट मान नहीं रखने वाले रिकॉर्ड खोजने के लिए सबक्वेरी के साथ NOT IN का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1840 ( UserName VARCHAR(20), UserType ENUM(GUEST,ADMIN) ); डेटा डालें mysql> INSERT INTO DemoTable1840 VALUES(Chris,Admin); mysql> INSERT INTO

  1. - MySQL में सबसे अधिक घटनाओं वाले फील्ड मान को कैसे लौटाएं?

    MySQL में किसी कॉलम में सबसे अधिक बार आने वाले मान (मोड/Mode) को खोजने के लिए, GROUP BY के साथ COUNT(*) गिनें, फिर ORDER BY COUNT(*) DESC और LIMIT 1 से शीर्ष परिणाम लें। उदाहरण: सबसे आम FirstName खोजना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1940 (FirstName VARCHAR(20)); डेटा इन्सर्ट कर