ENUM कॉलम में विशिष्ट मानों की गणना करना
MySQL में ENUM कॉलम पूर्वनिर्धारित मानों को संग्रहीत करता है। उद्धृत मानों (जैसे '0', '1') से मिलान करने के लिए WHERE क्लॉज में उद्धरण चिह्नों का उपयोग करें।
ENUM टेबल बनाना
mysql> CREATE TABLE DemoTable(
isMarried ENUM('1','0')
);
Query OK, 0 rows affected (0.46 sec)
डेटा डालना
mysql> INSERT INTO DemoTable VALUES('0');
Query OK, 1 row affected (0.08 sec)
mysql> INSERT INTO DemoTable VALUES('1');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable VALUES('1');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('0');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable VALUES('0');
Query OK, 1 row affected (1.00 sec)
mysql> INSERT INTO DemoTable VALUES('1');
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO DemoTable VALUES('0');
Query OK, 1 row affected (0.09 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+-----------+ | isMarried | +-----------+ | 0 | | 1 | | 1 | | 0 | | 0 | | 1 | | 0 | +-----------+ 7 rows in set (0.00 sec)
उद्धृत मान '0' की गणना करने की क्वेरी
mysql> SELECT COUNT(*) FROM DemoTable WHERE isMarried = '0';
परिणाम:
+----------+ | count(*) | +----------+ | 4 | +----------+ 1 row in set (0.06 sec)
महत्वपूर्ण: ENUM मान स्ट्रिंग के रूप में संग्रहीत होते हैं, इसलिए तुलना में उद्धरण आवश्यक हैं। WHERE isMarried = 0 (बिना उद्धरण) भी काम कर सकता है क्योंकि MySQL स्वचालित रूपांतरण करता है, लेकिन WHERE isMarried = '0' स्पष्ट और सुरक्षित है।