Функции обработки данных / Агрегирующие функции

/* Available in MySQL and PostgreSQL */
SELECT
    CountryCode,
    BIT_AND(Population) and_population,
    BIT_OR(Population) or_population,
    BIT_XOR(Population) xor_population
FROM city
GROUP BY CountryCode


CountryCode and_population or_population xor_population
ABW 29,034 29,034 29,034
AFG 288 1,834,940 1,809,428
AGO 16,384 2,097,148 1,926,184
AIA 577 979 402
ALB 270,000 270,000 270,000
AND 21,189 21,189 21,189
ANT 2345 2345 2345
ARE 0 1,048,575 659,116
ARG 0 4,194,303 2,728,625
...

Функция BIT_AND() в MySQL — это агрегатная функция, которая выполняет побитовую операцию AND со всеми битами в столбце таблицы. Если оба бита равны 1, в результате получается 1, иначе — 0.
BIT_OR() выполняет побитовую операцию OR со всеми битами в столбце таблицы. Если оба бита равны 0, в результате получается 0, иначе — 1.
BIT_XOR() выполняет побитовую операцию XOR со всеми битами в столбце таблицы. Возвращает 1, если только 1 бит из двух равен 1, иначе — 0.