admin

如何从COUNT()获得前10名和ORDER BY()

sql

下图是我必须使用的数据库的示例。

数据库还有更多字段-用户ID持续到USER-0050

我要实现的是十大用户活动。根据上面的图像,所需的输出为:

User ID           Transaction
USER-005           14
USER-001           12
USER-002           12
USER-003           8
USER-004           6

到目前为止我尝试过的是:

SELECT DISTINCT (userid), count(TCODE) as Transaction
FROM SAP_SECURITY_LOG
GROUP BY TCODE, USERID

但是我的输出不是我想要达到的。我懂了

UserID    Transaction
User-001     0
User-001     1
User-001     2
User-001     3
User-001     6

基本上我想将所有这些合并在一起,然后获取所有50个用户ID中所有用户ID的前10个事务

一直持续到用户0050


阅读 149

收藏
2021-06-07

共1个答案

admin

活跃用户:

SELECT Top(10) userid, count(TCODE) as Transaction
FROM SAP_SECURITY_LOG
GROUP BY userID
ORDER BY count(TCODE) DESC
2021-06-07