[已解决问题] 关于Group问题
提问时间: 2008-08-13 11:23
悬赏分:5 浏览:218 次

PKId Title Datatime B_PIKd

1 title      NULL   2
2 title      NULL   1
3 title      NULL    2
4 title      NULL   3
5 title      NULL   3
6 title      NULL   3
7 title      NULL   3
8 title      NULL   1

 

select * from News group by B_PKId  这条为什么报错

消息 8120,级别 16,状态 1,第 1 行
选择列表中的列 'News.PKId' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

提问者:汉城 - 初学一级
最佳答案
USE AdventureWorks; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail sod GROUP BY SalesOrderID ORDER BY SalesOrderID ; GO 给你个链接自己去看看关于group by 的用法 http://msdn.microsoft.com/zh-cn/library/ms189288.aspx
2008/8/15 9:00:30 回答者:快乐的海盗


提问者对于答案的评价:谢谢大家。。 刚入门
其它回答(4)
GROUP BY 是配合聚合语句用的 select count(*) , B_PKId from News group by B_PKId 只group by中能够不用聚合函数表示的只有被group by 的项
3个月前   回答者:小眼睛老鼠 - 小虾三级
GROUP BY 语句中 SELECT中的东西必须包含在聚合语句里,或者是聚合函数,比如COUNT AVG MAX等。楼主的要求可以用 SELECT *,A.count FROM News INNER JOIN (select COUNT(*) AS count from News group by B_PKId ) AS A WHERE a.B_PKId = News.B_PKId
3个月前   回答者:zeus2 - 初学一级
group by是分组的意思,分组就有按照什么分组,然后还有分组每组的聚合值是什么。 看看基础的sql语句吧,理解了就明白为啥错了。
3个月前   回答者:玉开 - 大侠五级
1、3楼都说了,看SQL基础是最重要的
3个月前   回答者:AndyFish - 小虾三级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题



> 问题排行榜

相关内容

相关链接