免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2238 | 回复: 4
打印 上一主题 下一主题

如何查询 表中某个字段多次出现的 那些记录 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-01 13:39 |只看该作者 |倒序浏览
大家好 ,

我有一个数据表如下



ID   Cate.          Word
1    Sports         basketball
2    Sports          football
3    SPorts          volleyball

4    Economy        share
5    Economy        bank
6    Economy        credit
7    Economy        basketball

8    Society           credit
9    Society        democracy
10   Society         people
11   Society         basketball


我想找出那些在少于3个 类别中 出现的词.比如在上例中,查询结果应该是 除了与'basketball'对应的3个 记录(记录1,7,11) 之外的所有记录,



我使用下面的命令


  1. Select *
  2. From TableName
  3. Group By
  4.       Word
  5. Having Count(*)<3
  6. Order by
  7.     Cate
复制代码


但 对于 'credit' 而言,只有一条记录,即


  1. 6    Economy                credit
复制代码


对于 'credit' 而言,正确的查询结果应含有2条记录,即

  1. 6    Economy                credit
  2. 8    Society                   credit

复制代码

请大家帮忙,如何才能得到我想要的答案。谢谢

[ 本帖最后由 cy163 于 2009-6-1 13:41 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-06-01 13:47 |只看该作者
Select *
From TableName
Group By
      Cate,Word
Having Count(*)<3
Order by
    Cate ;
这样试一下。

论坛徽章:
0
3 [报告]
发表于 2009-06-01 13:52 |只看该作者

  1. select *
  2.    form table_name t
  3.   where 3 < (select count(distinct Cate) c
  4.            from table_name
  5.           where Word = t.word)
复制代码

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
4 [报告]
发表于 2009-06-01 14:55 |只看该作者
Select *
From TableName tn1
where 3>(
    select count(1) from TableName tn2 where tn1=tn2
)

论坛徽章:
0
5 [报告]
发表于 2009-06-02 23:04 |只看该作者
下面的代码是正确的,能够产生所想的结果。但我不明白其中的道理,哪些朋友帮忙解释一下啊。

  1. SELECT t1.*,COUNT(t2.id)
  2. FROM tablename t1
  3. JOIN tablename t2
  4. ON t1.word = t2.word
  5. GROUP
  6. BY t1.id Having count(*) <3;
复制代码

[ 本帖最后由 cy163 于 2009-6-2 23:05 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP