楼主: accphaijiang

[SQL] 求sql写法

[复制链接]
论坛徽章:
14
2011新春纪念徽章
日期:2011-02-18 11:43:35生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:352012新春纪念徽章
日期:2012-01-04 11:53:54蜘蛛蛋
日期:2011-12-02 17:13:44ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26开发板块每日发贴之星
日期:2011-08-16 01:01:01
11#
 楼主| 发表于 2011-9-28 08:50 | 只看该作者
本帖最后由 accphaijiang 于 2011-9-28 09:04 编辑

果然是各位版主!荣幸之至!

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
38
ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14现任管理团队成员
日期:2012-10-18 17:11:21版主4段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
12#
发表于 2011-9-28 08:57 | 只看该作者
bell6248 发表于 2011-9-27 18:13
LZ,  我提供的测试数据和你提供的不一样, 你测式一下如下语句是否完全满足!

代码如下:

是我没仔细看题

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
13#
发表于 2011-9-30 01:33 | 只看该作者
Laurence.li 发表于 2011-9-28 08:57
是我没仔细看题

哥,下次要认真哦^_^

使用道具 举报

回复
论坛徽章:
41
2010广州亚运会纪念徽章:橄榄球
日期:2011-01-11 06:17:26红孩儿
日期:2012-12-19 11:07:13玉石琵琶
日期:2012-12-19 11:07:13九尾狐狸
日期:2012-12-19 11:07:13嫦娥
日期:2012-12-19 11:07:13玉兔
日期:2012-12-19 11:07:13紫蜘蛛
日期:2012-12-19 11:07:13蓝色妖姬
日期:2012-12-19 11:07:13紫蛋头
日期:2013-01-23 09:04:49SQL大赛参与纪念
日期:2013-12-06 14:03:45
14#
发表于 2011-9-30 02:41 | 只看该作者
just for fun:

SELECT t0.proid, MIN(t0.prc)
  FROM tt1 t0, tt1 t1
WHERE (((t0.bdate, t0.edate)overlaps(t1.bdate, t1.edate) AND t0.proid = t1.proid) OR
              ((t1.bdate, t1.edate) overlaps(t0.bdate, t0.edate) AND t0.proid = t1.proid))
   AND t0.id <> t1.id
GROUP BY t0.proid;

使用道具 举报

回复
论坛徽章:
38
授权会员
日期:2005-10-30 17:05:332012新春纪念徽章
日期:2012-02-13 15:12:09现任管理团队成员
日期:2011-11-07 09:46:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41ITPUB9周年纪念徽章
日期:2010-10-08 09:31:21版主3段
日期:2012-05-15 15:24:112009新春纪念徽章
日期:2009-01-04 14:52:282010新春纪念徽章
日期:2010-03-01 11:06:202009日食纪念
日期:2009-07-22 09:30:00祖国60周年纪念徽章
日期:2009-10-09 08:28:00
15#
发表于 2011-9-30 02:51 | 只看该作者
xqmei 发表于 2011-9-29 13:41
just for fun:

SELECT t0.proid, MIN(t0.prc)

不错,但是overlap是不公开函数

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
16#
发表于 2011-9-30 03:56 | 只看该作者
xqmei 发表于 2011-9-30 02:41
just for fun:

SELECT t0.proid, MIN(t0.prc)

OVERLAPS应该没有方向吧?为什么反过来又用OR写一遍?

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
17#
发表于 2011-9-30 09:51 | 只看该作者
SELECT PRIOD,MIN(PRC)
FROM table1
GROUP BY PRIOD
HAVING count(PRIOD)>1;

楼主 这个是我写的,跟各位前辈比起来怎么这么简单,可是我按照你的关系表数据试了 确实可以成功

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
18#
发表于 2011-9-30 10:22 | 只看该作者
gg2006j 发表于 2011-9-30 09:51
SELECT PRIOD,MIN(PRC)
FROM table1
GROUP BY PRIOD

您没有考虑到时间交叉的情况

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59
19#
发表于 2011-9-30 11:58 | 只看该作者
用over函数,怎么弄的那么复杂,看我的可以不
  1. select distinct(proid),min(sal) over(patition by proid) from t where proid in (select proid from t group by proid);
复制代码

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
20#
发表于 2011-9-30 18:00 | 只看该作者
sd285757 发表于 2011-9-30 10:22
您没有考虑到时间交叉的情况

话说我真没看懂各个列的意义,麻烦LZ解释下?

使用道具 举报

回复

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

本版积分规则 发表回复

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