SQL查询语句问题

SQL查询.jpg


如何查询出hykh=2107那种的,就是 hykh 是一个,在一个日期内 2015-11-13, 存在 +5 和 -5两种 yjje

下面那个2141就不算,因为虽然有+5 和 -5 ,但是不是一个bbrq

求编写一个SQL查询语句,只提取像 hykh=2171 这样子的记录

参与19

4同行回答

wangzk0206wangzk0206数据库管理员scrcu
采用OLAP函数处理,很容易实现的。显示全部

采用OLAP函数处理,很容易实现的。

收起
银行 · 2015-12-15
chenhmchenhm软件开发工程师亚信
请看一下下面这个语句是否是你要的?select * from table where hykh,bbrq in (                        select hykh,bbrq                       ...显示全部

请看一下下面这个语句是否是你要的?

select *

from table

where hykh,bbrq in (

                        select hykh,bbrq

                         from table

                         where yjje in (5,-5)

                         group by hykh,bbrq having count(distinct yjje)=2 and count(yjje)=2

                         )

收起
软件开发 · 2015-12-15
  • 谢谢,执行不了,有语法错误
    2015-12-15
  • 不好意思,少个括号。下面这个语句可以执行通过,已经测试过。 select * from test where (hykh,bbrq) in ( select hykh,bbrq from test where yjje in (5,-5) group by hykh,bbrq having count(distinct yjje)=2 and count(yjje)=2 )
    2015-12-16
欧阳峰欧阳峰其它Freelancer
那其实就用你需要的这两个列作为条件不就可以了吗 select  a.* from test a, test b  where a.hykh=b.hykh and a.bbrq=b.bbrqorder by ...........应该有更简单的sql写法,暂时想不来了,给你一个比较笨重的sql先试一试吧...显示全部

那其实就用你需要的这两个列作为条件不就可以了吗

select  a.* from test a, test b  where a.hykh=b.hykh and a.bbrq=b.bbrq

order by ...........

应该有更简单的sql写法,暂时想不来了,给你一个比较笨重的sql先试一试吧

收起
IT其它 · 2015-12-15
chenhmchenhm软件开发工程师亚信
请看一下下面这个语句是否是你要的?select * from table where hykh,bbrq in (                        select hykh,bbrq                       ...显示全部

请看一下下面这个语句是否是你要的?

select *

from table

where hykh,bbrq in (

                        select hykh,bbrq

                         from table

                         where yjje in (5,-5)

                         group by hykh,bbrq count(distinct yjje)=2)

收起
软件开发 · 2015-12-15
浏览787
  • 我试了下,这个语句执行不了,有错误,table我已经换成自己的表名了
    2015-12-15

提问者

msjiang3433
系统工程师现已失业

问题状态

  • 发布时间:2015-12-14
  • 关注会员:4 人
  • 问题浏览:2877
  • 最近回答:2015-12-15
  • X社区推广