Mega Code Archive

 
Categories / MySQL / Function
 

The BIT_AND() function is similar to the bitwise AND (&) comparison operator

mysql> mysql> CREATE TABLE Classes     -> (     ->     ClassID SMALLINT NOT NULL PRIMARY KEY,     ->     Dept CHAR(4) NOT NULL,     ->     Level ENUM('Upper', 'Lower') NOT NULL,     ->     TotalStudents TINYINT UNSIGNED NOT NULL     -> ); Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO Classes VALUES     -> (1001, 'ANTH', 'Upper', 25),     -> (1002, 'ANTH', 'Upper', 25),     -> (1003, 'MATH', 'Upper', 18),     -> (1004, 'ANTH', 'Lower', 19),     -> (1005, 'ENGL', 'Upper', 28),     -> (1006, 'MATH', 'Lower', 23),     -> (1007, 'ENGL', 'Upper', 25),     -> (1008, 'MATH', 'Lower', 29),     -> (1009, 'ANTH', 'Upper', 25),     -> (1010, 'ANTH', 'Lower', 30),     -> (1011, 'ENGL', 'Lower', 26),     -> (1012, 'MATH', 'Lower', 22),     -> (1013, 'ANTH', 'Upper', 27),     -> (1014, 'ANTH', 'Upper', 21),     -> (1015, 'ENGL', 'Lower', 25),     -> (1016, 'ENGL', 'Upper', 32); Query OK, 16 rows affected (0.00 sec) Records: 16  Duplicates: 0  Warnings: 0 mysql> mysql> mysql> mysql> SELECT Dept, Level, BIT_AND(ClassID) AS BitwiseAND     -> FROM Classes     -> GROUP BY Dept, Level WITH ROLLUP; +------+-------+------------+ | Dept | Level | BitwiseAND | +------+-------+------------+ | ANTH | Upper |        992 | | ANTH | Lower |        992 | | ANTH | NULL  |        992 | | ENGL | Upper |       1000 | | ENGL | Lower |       1011 | | ENGL | NULL  |        992 | | MATH | Upper |       1003 | | MATH | Lower |        992 | | MATH | NULL  |        992 | | NULL | NULL  |        992 | +------+-------+------------+ 10 rows in set (0.00 sec) mysql> mysql> drop table Classes; Query OK, 0 rows affected (0.00 sec) mysql>