SQL左连接具有hading子句

用户名

所以我有这个SQL代码:

select stone_number,stone_size,stone_shape,stone_weight 
from stone
left Join stone_price stp on stp.id_stone = stone.id_stone
group by stone_number,stone_size,stone_shape,stone_weight 
having  avg(stp.price) < stp.price;

Sqldeveloper返回:不是按表达式分组,但我的代码中仍按分组。我的目标是获得价格高于所有宝石平均价格的宝石。

a_horse_with_no_name

您可以使用窗口函数来做到这一点:

select *
from (
  select stone_number,stone_size,stone_shape,stone_weight, 
         stp.price, 
         avg(stp.price) over () as avg_price
  from stone
    left Join stone_price stp on stp.id_stone = stone.id_stone
)  
where price > avg_price;

请注意,外部联接表上的条件实际上将您的外部联接转换为内部联接。如果您还想包括没有匹配项的行,则stone_price需要

where price is null
   or price > avg_price;

否则,您可以将更left join改为“普通”join


另一个选项是一个简单的子选择:

select stone_number,stone_size,stone_shape,stone_weight, 
from stone
  left Join stone_price stp on stp.id_stone = stone.id_stone
where stp.price > (select avg(price) from stone_price);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LInq在on子句中具有多个条件的左连接

来自分类Dev

LINQ to Sql左外部与Group By并具有子句的联接

来自分类Dev

SQL左外连接具有三个表

来自分类Dev

将带有where子句的左外连接转换为Linq-to-sql

来自分类Dev

SQL具有子句的问题

来自分类Dev

在具有硬连接的预分配变量的系统上配置SQL Server动态SQL“ IN子句”

来自分类Dev

具有相同列的多个左连接

来自分类Dev

sql在join vs where子句中的左连接条件

来自分类Dev

MySQL SQL左连接带强制索引where子句

来自分类Dev

SQL左连接-之后on子句不起作用

来自分类Dev

带有Count的左连接和右侧的Where子句

来自分类Dev

具有一对多左连接的 SQL 查询排除任何不存在的

来自分类Dev

修改左连接子句

来自分类Dev

SQL Where子句具有多个值

来自分类Dev

具有多个WHERE子句的SQL RANK

来自分类Dev

具有聚合功能的SQL HAVING子句?

来自分类Dev

SQl具有子句Min方法无效

来自分类Dev

具有having子句的sql问题

来自分类Dev

具有各种BETWEEN子句的SQL查询

来自分类Dev

当表中不存在列时如何使用带有hading()子句的paginate()

来自分类Dev

使用 ON 子句连接具有相同列名的表

来自分类Dev

左外连接,具有唯一的行集

来自分类Dev

Laravel 8-具有多个条件的左外连接

来自分类Dev

左外连接...具有不同的匹配键

来自分类Dev

具有多个独立左连接的单个查询

来自分类Dev

带有右表的where子句的左连接(必须从右返回NULL)-Oracle

来自分类Dev

如何用Pig Latin写带有WHERE子句的左外连接?

来自分类Dev

带有右表的where子句的左连接(必须从右返回NULL)-Oracle

来自分类Dev

SQL左连接奇数

Related 相关文章

热门标签

归档