SQL 简单语句
发布网友
发布时间:2022-04-08 10:38
我来回答
共5个回答
热心网友
时间:2022-04-08 12:07
当然不对了。
错误为oracle组函数问题。 oracle组函数平常使用的有:
1:AVG([{DISYINCT|ALL}]) 返回数值的平均值。缺省设置为ALL.
2:COUNT({*|DISTINCT|ALL}) 返回查询中行的数目,缺省设置是ALL,*表示返回所有的行。
3:MAX([{DISTINCT|ALL}]) 返回选择列表项目的最大值,如果x是字符串数据类型,他返回一个VARCHAR2数据类型,如果X是一个DATA数据类型,返回一个日期,如果X是numeric数据类型,返回一个数字。注意distinct和all不起作用,应为最大值与这两种设置是相同的。
4:MIN([{DISTINCT|ALL}]) 返回选择列表项目的最小值。
6:STDDEV([{DISTINCT|ALL}]) 返回选者的列表项目的标准差,所谓标准差是
7:SUM([{DISTINCT|ALL}]) 返回选择列表项目的数值的总和。
8:VARIANCE([{DISTINCT|ALL}]) 返回选择列表项目的统计方差。
通常在SELECT语句中使用组函数时,我们使用GROUP BY来进行数据分组。当然也可以不使用group by进行专门处理,那么缺省的分类是将整个结果设为一类。
注意:1.当使用SELECT时,选择列中没有使用组函数的列则必须放在GROUP BY语句中。
2.如果要使用组函数来作为查询*条件时,千万不能写成where 组函数什么什么,一定要用having 组函数什么什么。
热心网友
时间:2022-04-08 13:25
当然是不对了你select 的是是性别 最后where 里面也用性别 就好向问人家我想找一个人的性别我知道他是男的有这样的问法吗?哈哈
热心网友
时间:2022-04-08 15:00
不会吧??
Group by 又不是一定要有的!
你确定??
热心网友
时间:2022-04-08 16:51
第二种写法是错误的。
如果在select语句中仅有avg的话是没有问题的
SELECT AVG(数学) as 平均分 FROM grade WHERE 性别='男'
如果列出了其他列,则必须对其他列进行group by 分组。
热心网友
时间:2022-04-08 18:59
不对啊·~
AVG是对那个组的·?