Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 比较第1行和第2行之间的一列值_Sql_Oracle - Fatal编程技术网

Sql 比较第1行和第2行之间的一列值

Sql 比较第1行和第2行之间的一列值,sql,oracle,Sql,Oracle,例如,我有下面的桌子篮子 basket fruit quantity 1 mango 2 1 apple 2 2 banana 2 2 banana 3 2 banana 3 现在我要找到超过一排的篮子,篮子里的类型各不相同。所以一号篮应该出来了 我编写了以下SQL: select count(*),c.basket from baskets c group by c.basket having count(*)>1;

例如,我有下面的桌子篮子

basket fruit   quantity
1      mango   2
1      apple   2
2      banana  2
2      banana  3
2      banana  3
现在我要找到超过一排的篮子,篮子里的类型各不相同。所以一号篮应该出来了

我编写了以下SQL:

select count(*),c.basket from baskets c group by c.basket having count(*)>1;
但在这之后,我如何才能得到不同水果类型的篮子呢?在这种情况下,它应该是篮子编号1。

我将使用最小值和最大值:

我将使用最小值和最大值:

只需在HAVING子句中添加以下内容:

只需在HAVING子句中添加以下内容:

我将使用:

我将使用:


仅供参考,你们不需要有过滤器的第一部分,当然,在一个人的篮子里有多个不同的水果意味着晒太阳的不仅仅是一件事。我试图在having子句中演示如何具有多个条件。仅供参考,您不需要having filterYes的第一部分,当然,在一个人的篮子中有多个不同的水果意味着晒太阳的不仅仅是一件事。我试图展示如何在having子句中包含多个条件。
select b.basket
from baskets b
group by b.basket
where min(b.fruit) <> max(b.fruit);
select count(*), c.basket 
  from baskets c 
 group by c.basket 
having count(*)>1 
   AND COUNT(DISTINCT fruit)>1;
select b.*
from baskets b
where exists (select 1 
              from baskets b1 
              where b1.basket = b.basket and 
                    b1.fruit <> b.fruit
            );