说我有一个简单的表,有3个字段:'地点','用户'和'字节'。比方说,在某个过滤器下,我想按'地点'分组,并为每个“地点”合计该地点的所有字节,并随机选择该地点的用户(统一来自所有符合'where'过滤器和相关'地点')。如果有一个“随机选择”聚合函数,我会这样做:SQL随机聚合
SELECT place, SUM(bytes), SELECT_AT_RANDOM(user) WHERE .... GROUP BY place;
...但我找不到这样一个聚合函数。我错过了什么吗?什么可能是一个很好的方法来实现这一目标?
这是什么RDBMS? –
我不知道任何具有这种功能的个人RDBMS。大多数需要使用一些其他机制来实现相同的结果*(例如为每个用户分配一个随机数,然后选择具有最高值的用户)。*但每个都有不同的功能,并且每个功能的表现都不相同。所以,这确实是一个RDBMS特定的问题。 – MatBailie
如果您使用的是MySQL,只需编写一个不正确的“GROUP BY”(例如,不要在用户上应用聚合),它将随机选择一行。 –