sql话语在查询分析器里面正确,代码执行报错
sql语句在查询分析器里面正确,代码执行报错。
sql语句如下:
gameid动态设置。
在查询分析器里面是正确的,可是代码执行的时候报错了,
注意:该sql语句是提供给分页存储过程 第一个参数。
错误信息如下:
选择列表中的列 'ucpayorder.pay_time' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
------解决方案--------------------
select CONVERT(varchar(10),uc.pay_time,3) pay_time
,COUNT(*) xiaofeishuliang
,SUM(CONVERT(decimal(18,2),uc.amount)) xiaofeizongji
,SUM(CONVERT(decimal(18,2),uc.amount)) shijizongji
,SUM(CONVERT(decimal(18,2),uc.amount))/COUNT(*) renjun
from ucpayorder as uc
where uc.gameId=504002
group by CONVERT(varchar(10),uc.pay_time,3)
我想这样应该不会错吧
------解决方案--------------------
sql语句如下:
select CONVERT(varchar(10),uc.pay_time,3) pay_time
,COUNT(*) xiaofeishuliang
,SUM(CONVERT(decimal(18,2),uc.amount)) xiaofeizongji
,SUM(CONVERT(decimal(18,2),uc.amount)) shijizongji
,SUM(CONVERT(decimal(18,2),uc.amount))/COUNT(*) renjun
from ucpayorder as uc
where uc.gameId=504002
group by uc.pay_time
gameid动态设置。
在查询分析器里面是正确的,可是代码执行的时候报错了,
注意:该sql语句是提供给分页存储过程 第一个参数。
错误信息如下:
选择列表中的列 'ucpayorder.pay_time' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
sql
存储过程
------解决方案--------------------
select CONVERT(varchar(10),uc.pay_time,3) pay_time
,COUNT(*) xiaofeishuliang
,SUM(CONVERT(decimal(18,2),uc.amount)) xiaofeizongji
,SUM(CONVERT(decimal(18,2),uc.amount)) shijizongji
,SUM(CONVERT(decimal(18,2),uc.amount))/COUNT(*) renjun
from ucpayorder as uc
where uc.gameId=504002
group by CONVERT(varchar(10),uc.pay_time,3)
我想这样应该不会错吧
------解决方案--------------------
CREATE TABLE #TESTT(gameId INT IDENTITY(1,1) PRIMARY KEY,pay_time DATETIME,amount INT)
SELECT * FROM #TESTT
INSERT INTO #TESTT VALUES (GETDATE(),100)
SELECT CONVERT(VARCHAR(10),t.pay_time,3) AS 'pay_time',
COUNT(1) AS 'xiaofeishuliang' ,
SUM(CONVERT(DECIMAL(18,2),T.amount))AS 'xiaofeizongji',
SUM(CONVERT(DECIMAL(18,2),T.amount))AS 'shijizongji',
avg(CONVERT(DECIMAL(18,2),T.amount))AS 'renjun'
FROM #TESTT t
GROUP BY t.pay_time
GO