跨用户计算角色的出现次数?

Count occurrences of role across users?

我使用的table存储了不同的系统名称,对应的用户和他们的角色。 我的目标是同时使用 SELECTCOUNT 命令来获得如下输出:

SysName | Role1 | Role2 | Role3
----------------------------------
sys1    | 10    | 5     | 25
sys2    | 0     | 70    | 12

但似乎某些 SQL 命令或其结构在 ABAP 代码中不起作用。

你能告诉我这样的事情是否可行以及何时可行吗?

使用此命令,您可以计算 Table 中的所有内容。只需添加您的 WHERE 条件:

SELECT COUNT( * ) INTO integer FROM table [WHERE...].

希望这就是您要找的。

Select col1, COUNT( col2 ) INTO TABLE @tbl GROUP BY col1 在 abap 中不起作用,仅 Select col1, COUNT( DISTINCT col2 ) INTO TABLE @tbl GROUP BY col1。我认为你应该在这种情况下使用 Select + Loop

错误触发是因为关键字"DISTINCT"缺失

正确答案应该是这样的:

SELECT COUNT( DISTINCT col1 ) ...