我正在使用MySQL 5.6和5.7。我不想关闭only_full_group_by模式,但我希望以下查询在两个版本上都起作用。
从被授予者的information_schema.user_privileges分组中选择被授予者,any_value(count(privilege_type));
我想知道的就是分配给数据库中每个用户的特权数量。
答案 0 :(得分:1)
您可以在不使用ANY_VALUE
的情况下使用此查询:
products=cart.map(prod=>prod.id, prod.qty)
仅在未聚合的列上需要ANY_VALUE
。但是您在SELECT grantee, count(privilege_type)
FROM information_schema.user_privileges
GROUP BY grantee;
上使用COUNT
,因此该列被汇总(list of aggregate functions on MySQL 5.6+)。 privilege_type
列不需要聚合函数,因为它是grantee
的一部分。
如果您需要MySQL 5.6上GROUP BY
函数的替代方法,则可以改用ANY_VALUE
或MIN
。