不计算重复记录的sql该怎么写?

hrlin 2010-07-02 05:09:21
我有一个新闻下载表(id,用户id,新闻id),用于记录都有哪些用户下载了哪些新闻。

由于网络原因或者其他原因,用户下载新闻时不一定一次成功。因此,某个用户可能下载某条新闻了好几次。如何把这些重复的记录就算作一次,也就是说,只要是某个用户下载了某条新闻,甭管他下载了几次,都按一次算。最后,统计这个表中一共有多少条有效记录,这个sql该怎么写呢?
...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrlin 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 nightmaple 的回复:]
这个就是所有有效记录

SQL code
SELECT distinct 用户ID,新闻ID FROM TB
[/Quote]

这个不太对,报错!
hrlin 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guguda2008 的回复:]
SQL code
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T
[/Quote]

管用,谢谢大侠!
nightmaple 2010-07-02
  • 打赏
  • 举报
回复
这个就是所有有效记录
SELECT distinct 用户ID,新闻ID FROM TB
nightmaple 2010-07-02
  • 打赏
  • 举报
回复
select 用户ID,count(*) as 新闻条数
from (SELECT distinct 用户ID,新闻ID FROM TB) tb
group by 用户ID
nightmaple 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 guguda2008 的回复:]
引用 3 楼 feixianxxx 的回复:

引用 1 楼 guguda2008 的回复:

SQL code
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T

鸭子 你今天很勤快啊

被你的MVP刺激了
[/Quote]

要当版主了不勤快点怎么行呢~
guguda2008 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feixianxxx 的回复:]

引用 1 楼 guguda2008 的回复:

SQL code
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T

鸭子 你今天很勤快啊
[/Quote]
被你的MVP刺激了
feixianxxx 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guguda2008 的回复:]

SQL code
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T
[/Quote]
鸭子 你今天很勤快啊
Purple_Sky2010 2010-07-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 guguda2008 的回复:]
SQL code
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T
[/Quote]


楼主试试楼上的额哈~~
guguda2008 2010-07-02
  • 打赏
  • 举报
回复
SELECT COUNT(1) FROM (
SELECT 用户ID,新闻ID
FROM TB
GROUP BY 用户ID,新闻ID
) T

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧