该列没有包含在聚合函数或GROUP BY子句
SELECTAccountNo,CustomerName,count(distinctCollectDate)FROMdbo.tb_infWHEREConsumeTime...
SELECT AccountNo,CustomerName,count(distinct CollectDate)
FROM dbo.tb_inf
WHERE ConsumeTime between '"&date_begin&"' and '"&date_end&"' group by AccountNo,CustomerName
ORDER BY AccountNo ASC
什么原因?
[Microsoft][ODBC SQL Server Driver][SQL Server]列 'dbo.tb_inf.AccountNo' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
[Microsoft][ODBC SQL Server Driver][SQL Server]列 'dbo.tb_inf.CustomerName' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。 展开
FROM dbo.tb_inf
WHERE ConsumeTime between '"&date_begin&"' and '"&date_end&"' group by AccountNo,CustomerName
ORDER BY AccountNo ASC
什么原因?
[Microsoft][ODBC SQL Server Driver][SQL Server]列 'dbo.tb_inf.AccountNo' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
[Microsoft][ODBC SQL Server Driver][SQL Server]列 'dbo.tb_inf.CustomerName' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。 展开
3个回答
展开全部
group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组。先看看select xx from xx where xx 查出来和有没有这AccountNo,CustomerName两列.再看select xx from xx where xx group by xx这段.
整条SQL看起来没问题
整条SQL看起来没问题
展开全部
WHERE ConsumeTime between '"&date_begin&"' and '"&date_end&"'这里写错了吧,把这个删除掉看会不会出现问题。如果没有问题,就是where这里的问题了,仔细检查'...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请检查CollectDate的数据类型和date_begin 和date_end的数据类型是否一样
between convert('"&date_begin&"' as datetime) and convert('"&date_end&"' as datetime)
between convert('"&date_begin&"' as datetime) and convert('"&date_end&"' as datetime)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询