首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过用户获得唯一的读取

通过用户获得唯一的读取
EN

Stack Overflow用户
提问于 2018-02-20 18:05:10
回答 1查看 23关注 0票数 0

表结构非常简单:

代码语言:javascript
运行
复制
UserId    ReportId

我有一个这样的查询:

代码语言:javascript
运行
复制
SELECT UserId, COUNT(*) AS 'ReportsRead'
FROM MyReports
GROUP BY UserId

从本质上讲,这将给出每个用户读取报告的总数。我想弄清楚的是,如何获得每个用户所阅读的唯一报告的总数。所以,如果他用id 1读了10次报告,它就算作1。

我尝试过将ReportId添加到,但所做的只是给出了几行的总数。我想要的是把总数排在一排。可以不做子查询吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-20 18:08:38

使用count(distinct)

代码语言:javascript
运行
复制
SELECT UserId, COUNT(DISTINCT reportId) AS ReportsRead
FROM MyReports
GROUP BY UserId;

不要将列别名括在单引号中。仅对日期和字符串常量使用单引号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48891575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档