表结构非常简单:
UserId ReportId我有一个这样的查询:
SELECT UserId, COUNT(*) AS 'ReportsRead'
FROM MyReports
GROUP BY UserId从本质上讲,这将给出每个用户读取报告的总数。我想弄清楚的是,如何获得每个用户所阅读的唯一报告的总数。所以,如果他用id 1读了10次报告,它就算作1。
我尝试过将ReportId添加到,但所做的只是给出了几行的总数。我想要的是把总数排在一排。可以不做子查询吗?
发布于 2018-02-20 18:08:38
使用count(distinct)
SELECT UserId, COUNT(DISTINCT reportId) AS ReportsRead
FROM MyReports
GROUP BY UserId;不要将列别名括在单引号中。仅对日期和字符串常量使用单引号。
https://stackoverflow.com/questions/48891575
复制相似问题