SQL:我如何计算MS ACCESS中的不同记录

Alx*_*xan 9 sql ms-access

有人可以帮我解决SQL命令吗?我有一个表(tbl_sActivity)具有以下数据

user_id | client_id | act_status |
1 | 7 | 冷|
1 | 7 | dealed |
22 | 5 | 冷|
1 | 6 | 冷|
1 | 6 | 温暖的
1 | 6 | 热|
1 | 6 | dealed |
1 | 8 | 温暖的
1 | 8 | dealed |
21 | 4 | 温暖的
21 | 4 | dealed |

输出应该是

user_id | Count_C_id |
 1 | 3 |
 21 | 1 |
 22 | 1 |

我从网上搜索并了解到MS ACCESS无法使用COUNT(DISTINCT)功能..所以我在这个阶段停留了好几天..非常感谢你.

ype*_*eᵀᴹ 15

试试这个吧."技巧"是首先获得子查询以获取用户和客户端ID的所有不同组合,然后对每个用户进行分组:

SELECT
    user_id
  , COUNT(*) AS count_distinct_clients
FROM
    ( SELECT DISTINCT
          user_id, 
          client_id
      FROM tbl_sActivity
    ) AS tmp
GROUP BY
    user_id ;
Run Code Online (Sandbox Code Playgroud)