易截截图软件、单文件、免安装、纯绿色、仅160KB

sql语句问题 - Java / Web 开发

select o_customer,o_price from orders having o_price >=avg(o_price)
select o_customer,o_price from orders where o_price >=(select avg(o_price) from orders)
我感觉没有区别啊,怎么在mysql会有区别。
o_ id o_date o_price o_customer
1 2008-12-29 1000 bush
2 2008-11-23 1600 carter
3 2008-10-05 700 bush
4 2008-09-28 300 bush
5 2008-08-06 2000 adams
6 2008-07-21 100 carter

having o_price >=avg(o_price)
这个是分组的条件吧 是用来过滤显示的组的
where 是过滤行的,应该有区别的,但你这样写,不加group by 没试验过。不知道是什么意思!

where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值,就如你在 SELECT语句中做的那样。例如:

SELECT A COUNT(B) from TABLE GROUP BY A HAVING COUNT(B)>2

avg(o_price) 与(select avg(o_price) from orders)这两个的区别吧
第一个应该是每条记录的平均值。
第二个应该是所有记录的平均值吧
我SQL不咋滴。不知道对不对。

不是很懂,等待结果。

select o_customer,o_price from orders having o_price >=avg(o_price)首先有错误可以写成(1)select o_customer,o_pri


相关问答:

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

求一sql语句 - MS-SQL Server / 疑难问题

现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......

java windows7 MSSQL - Java / Java SE

使用java在windows7 32位下连接MSSQL。
两台机器,windows7 32位,在控制面板里面全部设置语言和区域选项都english-unitedstates
唯一区别只有在安装SQL server 2008的时候 选择的字符集不一样,
exec sp_helpsor ......

java 求助 - Java / Java EE

insert into [ScholarshipManagement].[dbo].[department] ([department],[specialization] ,[grade]) output inserted.departmentID values(? ,? ,? )
请问大哥们这个sql 语句应该用Java里的那个数据库操作方法? ......

jsp和tomcat问题,快疯了 - Java / Java EE

我写了个jsp页面,然后改动了一下,改动的内容就是在jsp页面的js函数里加了个alert()语句,但是我访问这个页面时,死活都是原来页面的内容,我加了很多alert函数还是没改动前的页面内容;tomcat重启了,也重新部署这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号