BIT_OR() is similar to the bitwise OR (|) bit operator. : BIT_OR « Function « SQL / MySQL






BIT_OR() is similar to the bitwise OR (|) bit 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_OR(TotalStudents) AS BitwiseOR
    -> FROM Classes
    -> GROUP BY Dept, Level WITH ROLLUP;
+------+-------+-----------+
| Dept | Level | BitwiseOR |
+------+-------+-----------+
| ANTH | Upper |        31 |
| ANTH | Lower |        31 |
| ANTH | NULL  |        31 |
| ENGL | Upper |        61 |
| ENGL | Lower |        27 |
| ENGL | NULL  |        63 |
| MATH | Upper |        18 |
| MATH | Lower |        31 |
| MATH | NULL  |        31 |
| NULL | NULL  |        63 |
+------+-------+-----------+
10 rows in set (0.00 sec)

mysql>
mysql> drop table Classes;
Query OK, 0 rows affected (0.00 sec)

mysql>

   
    
    
  








Related examples in the same category