Collections:
BIT_XOR() - Bitwise XOR in Group
How to calculate the Bitwise XOR value of a field expression in result set groups using the BIT_XOR() function?
✍: FYIcenter.com
BIT_XOR(expr) is a MySQL built-in aggregate function that
calculates the Bitwise XOR value of a field expression in result set groups.
For example:
SELECT help_category_id, BIN(BIT_XOR(help_topic_id)), COUNT(help_topic_id) FROM mysql.help_topic GROUP BY help_category_id; -- +------------------+-----------------------------+----------------------+ -- | help_category_id | BIN(BIT_XOR(help_topic_id)) | COUNT(help_topic_id) | -- +------------------+-----------------------------+----------------------+ -- | 1 | 1 | 2 | -- | 2 | 11 | 35 | -- | 3 | 10 | 59 | -- | 4 | 1 | 2 | -- | 5 | 101111 | 3 | -- ... -- +------------------+-----------------------------+----------------------+ SELECT help_category_id, BIN(help_topic_id) FROM mysql.help_topic WHERE help_category_id = 5; -- +------------------+--------------------+ -- | help_category_id | BIN(help_topic_id) | -- +------------------+--------------------+ -- | 5 | 101000 | -- | 5 | 101011 | -- | 5 | 101100 | -- +------------------+--------------------+
BIT_XOR() is also a window function, you can call it with the OVER clause to calculate the bitwise XOR value of the given expression in the current window. For example:
SELECT help_topic_id, help_category_id, BIN(BIT_XOR(help_topic_id) OVER w) FROM mysql.help_topic WINDOW w AS (PARTITION BY help_category_id); -- +---------------+------------------+------------------------------------+ -- | help_topic_id | help_category_id | BIN(BIT_XOR(help_topic_id) OVER w) | -- +---------------+------------------+------------------------------------+ -- | 0 | 1 | 1 | -- | 1 | 1 | 1 | -- | 2 | 2 | 11 | -- | 6 | 2 | 11 | -- ... -- | 5 | 4 | 1 | -- | 40 | 5 | 101111 | -- | 43 | 5 | 101111 | -- | 44 | 5 | 101111 | -- | 41 | 6 | 101001 | -- | 42 | 7 | 101010 | -- ... -- +---------------+------------------+------------------------------------+
Reference information of the BIT_XOR() function:
BIT_XOR(expr): bin Returns the bitwise XOR of all bits in expr. If there are no matching rows, BIT_XOR() returns a neutral value (all bits set to 0). Arguments, return value and availability: expr: Required. The field expression in result set groups. bin: Return value. The bitwise XOR value of the input expression. Available since MySQL 5.7.
⇒ COUNT() - Counting Items in Group
⇐ BIT_OR() - Bitwise OR in Group
2023-11-18, 843🔥, 0💬
Popular Posts:
How To List All Stored Procedures in the Current Database in SQL Server Transact-SQL? If you want to...
What Happens If the Imported Table Already Exists in Oracle? If the import process tries to import a...
Can Date and Time Values Be Converted into Integers in SQL Server Transact-SQL? Can date and time va...
How to execute statements under given conditions in SQL Server Transact-SQL? How to use IF ... ELSE ...
What are DDL (Data Definition Language) statements for tables in SQL Server? DDL (Data Definition La...