楼主: 4pal

[精华] 一个sql

[复制链接]
论坛徽章:
226
BLOG每日发帖之星
日期:2010-02-11 01:01:06紫蛋头
日期:2013-01-12 23:45:222013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-10-17 18:06:40优秀写手
日期:2013-12-18 09:29:10马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
11#
发表于 2002-7-24 09:58 | 只看该作者

Re: 我刚想批判yangtingkun

最初由 easyfree 发布
[B]以貌取人, tt就自报家门了,   [/B]


呵呵,看到tt在海区的帖子了。

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
12#
 楼主| 发表于 2002-7-24 14:58 | 只看该作者
:$//shy

不好意思,那假如有重复的数据,那该怎么写?
我脑子一下子转不过弯来

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
13#
发表于 2002-7-24 15:19 | 只看该作者
楼上几位前辈,那个子句having sum(decode(number,'hoho',-1,'haha',-1,'xixi',-1,number)) = -3中的number改成0是不是更好?
因为和为-3的主和实在太多了!而且在编程时,即使现在除了3个-1的组合可以变成-3外,也不能保证未来情况就没有变化。

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
14#
 楼主| 发表于 2002-7-24 15:47 | 只看该作者
SQL> select * from test;

NNN               NUM
---------- ----------
a                   1
b                   1
a                   3
c                   3
d                   2
e                   4
f                   5
a                   5
d                   3
d                   6
b                   5

NNN               NUM
---------- ----------
c                   4
b                   3
b                   4
b                   4
b                   3
c                   3
c                   3


SQL> select nnn from test group by nnn having (sign(sum(decode(num,1,-1,0)))+sig
n(sum(decode(num,3,-1,0)))+sign(sum(decode(num,5,-1,0)))<=-3);

NNN
----------
a
b


哈哈,有点心得了

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
15#
发表于 2002-7-24 15:49 | 只看该作者

我当初考虑为 -1 是有一定前提的

如果确信number都是正数,数据没有重复,并且只有1,3,5而没有其他情况!

为0  肯定是不行的


tt真是学的快呀

不过,你现在的意思是  135只要有其中一个就可以了
而不是要全部有?

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
16#
 楼主| 发表于 2002-7-24 15:51 | 只看该作者
xixi, rainy ,看我学得多好

不对啊,是1,3,5全部要的,比如c,就没选中

奇怪,我编辑的帖子,怎么不显示 “给谁编辑过”?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
17#
发表于 2002-7-24 15:55 | 只看该作者

sorry

漏嘴了

= -3 就足够了
根本不可能  <  -3

脑袋中当  -2  <=  -3  了
faint

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
18#
 楼主| 发表于 2002-7-24 15:57 | 只看该作者
嗯,等于-3就足够了

使用道具 举报

回复
论坛徽章:
226
BLOG每日发帖之星
日期:2010-02-11 01:01:06紫蛋头
日期:2013-01-12 23:45:222013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-10-17 18:06:40优秀写手
日期:2013-12-18 09:29:10马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
19#
发表于 2002-7-24 15:58 | 只看该作者
你们真是快啊,我刚刚想到。

select name from
(select name, number, decode(number,1,-1,3,-1,5,-1,number) a
from test group by name , number)
group by name
having sum(a)=-3;

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
20#
 楼主| 发表于 2002-7-24 16:01 | 只看该作者
多重查询阿--______________--,不干,跟多重join一样,耗时

使用道具 举报

回复

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

本版积分规则 发表回复

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