【发布时间】:2021-07-07 12:19:41
【问题描述】:
所以我有一个用户表,他们的按位权限分为两列。其中一列是permissions,另一列是app1
下面根据permissions中的值显示所有有权查看app1的用户。 app1 列中的值将决定它们在 app1 中的角色。
SELECT `authorized_users`.* FROM `authorized_users` WHERE `permissions` & (SELECT `bits` FROM `user_permissions` WHERE `permission_name` = 'app1' AND `app` = 'global')
我需要查看app1 中每个角色有多少人。他们都必须获得访问app1 的权限。这又一次由permissions 列中的值决定,它们必须具有的值可以使用:
SELECT `bits` FROM `user_permissions` WHERE `permission_name` = 'app1' AND `app` = 'global'
我想要以下列的结果:
supplier、client、consultant 每个显示每个角色有多少人。一个用户可以有多个角色,因此使用 BITWISE
任何和所有的帮助将不胜感激:)
【问题讨论】:
-
提供示例数据作为 CREATE TABLE + INSERT INTO 脚本和该数据的所需输出。
标签: mysql count mariadb bit-manipulation