楼主: 4pal

[精华] 一个sql

[复制链接]
论坛徽章:
0
51#
发表于 2006-2-11 14:18 | 只看该作者
用DINSTINCT可以更简单呢:

SQL> select name
  2     from test
  3     group by name
  4     having count(distinct case when val in (1, 3, 5) then val end) = 3;

NAME
----------
a
b

使用道具 举报

回复
论坛徽章:
0
52#
发表于 2006-6-23 16:52 | 只看该作者
select name,count(*)
from table_test5
where number  in(1,3,5)
group by name
having count(*)=3;

使用道具 举报

回复
论坛徽章:
2
奥运会纪念徽章:田径
日期:2008-08-28 13:22:56奥运会纪念徽章:篮球
日期:2008-10-24 13:29:38
53#
发表于 2006-6-23 21:59 | 只看该作者
decode 函数 is so strong

使用道具 举报

回复
论坛徽章:
0
54#
发表于 2006-6-24 14:19 | 只看该作者
使用dense_rank()函数,然后结果等于3就是了~

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表