sqlServer关于group by的问题
发布时间:2020-12-12 13:13:46 所属栏目:MsSql教程 来源:网络整理
导读:今天在做asp.net的时候遇到了些小问题,有个要求: 添加一个数据源控件,通过多表查询,找出销售量在前十的产品。(在SalesOrderDetail表的OrderQty字段表示订货量,希望大家先尝试自己写查询语句,实在没办法解决才去看参考答案。) 有个屁的参考答案呀!!
今天在做asp.net的时候遇到了些小问题,有个要求: 添加一个数据源控件,通过多表查询,找出销售量在前十的产品。(在SalesOrderDetail表的OrderQty字段表示订货量,希望大家先尝试自己写查询语句,实在没办法解决才去看参考答案。)
选择列表中有形如SUM,COUNT等聚合函数,需要将所有SELECT的列加入到GROUP BY子句中去,你选择了ApprovalID列在GROUP BY子句中没有ApprovalID,所以会报错。 也就是如果要用group by,要显示的字段就都必须添加到group by 里面去。 先执行select 的操作返回一个程序集, --然后去执行分组的操作,这时候他将根据group by 后面的字段 --进行分组,并且将相同的字段并称一列数据,如果group by 后面没有这个字段的话就要分成好多的数据。 --但是分组就只能将相同的数据分成两列数据,而一列中又只能放入一个字段,所以那些没有进行分组的 --数据系统不知道将数据放入哪里,所以就出现此错误 附下午写的sql语句: select top(10) Product.* from Product left join SalesOrderDetail on Product.ProductID= SalesOrderDetail.ProductID where( SalesOrderDetail.ProductID= any(select top(10) SalesOrderDetail.ProductID from SalesOrderDetail group by SalesorderDetail.ProductID order by sum(SalesOrderDetail.OrderQty) desc)) group by Product.ProductID,Product.Name,ProductNumber,Product.Color,Product.Size,Product.Weight,Product.Price,Product.ProductSubcategoryID,Product.rowguid,Product.ModifiedDate 逗了。。 弄得这么复杂 应该这样 SELECT TOP(10) Product.ProductID,UnitPrice,sum(SalesOrderDetail.OrderQty)as TotalOrderQty FROM Product INNER JOIN SalesOrderDetail ON Product.ProductID = SalesOrderDetail.ProductID group by Product.ProductID,UnitPrice order by sum(SalesOrderDetail.OrderQty) desc (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 如果已删除ldf文件,如何恢复SQL Server数据库
- 所有数据库表都应该有主键吗?
- sql-server – 如何分配SqlException编号
- sql-server – 为安全(SSL)连接配置的MS SQL Server允许从J
- entity-framework – Entity Framework – 使用toTraceStri
- sql-server-2005 – 返回两个输出参数sp_executesql
- sql – 为什么表上的CONNECT BY LEVEL会返回额外的行?
- SQL Server SQL语句练习实例之七 剔除不需要的记录行
- sql-server – 事务日志备份大小更改
- Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用