读书人

问大家一个有关问题关于sql语句的

发布时间: 2012-01-02 22:40:04 作者: rapoo

问大家一个问题关于sql语句的。
select * from yt_data_jinzhends where creditid= ' " + yName + " ' group by jingzheng

为什么我上面的这句老是报错,报错信息:在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
那位高手指点一下

[解决办法]
去掉group by jingzheng
[解决办法]
group by jingzheng 用来分组做什么?

[解决办法]
去掉group by jingzheng
[解决办法]
select * from yt_data_jinzhends where creditid= ' " + yName + " ' ordey by jingzheng
[解决办法]
如果你想分组必须对你所查询的所有字段都ordey by
[解决办法]
select * from yt_data_jinzhends where creditid= ' " + yName + " ' group by jingzheng

group by 要结合sum,count,avg等函数一起使用哈.
[解决办法]
SQL 的基础问题 了 昨天刚回答过

还是举个比较傻的例子

学号 科目 成绩
1 数学 80
1 物理 70
2 数学 60
2 英语 50

如果你打算对学号做聚合
那么可能出来的结果是
学号 平均成绩
1 75
2 55
select 学号,Avg(成绩) as 平均成绩
from 表
group by 学号

但你是不能select * ...的,原因很简单,你这个查询结果如果要显示科目的话,你打算显示那一门呢?

所以用Group by的时候有个规定,要么是跟在Group by后面的字段(学号),要么是聚合的函数(成绩做了平均的聚合),其他字段是不能显示的

读书人网 >asp.net

热点推荐