有一个表:名字叫Phones(PhoneNumber, FileName)
我想统计表中PhoneNumber的重复次数,写得SQL:SQLStr := 'select PhoneNumber, count(PhoneNumber) as Total, FileName from Phones where FileName = ''' + FileName + ''' group by PhoneNumber having count(PhoneNumber) > 1';ADOQuery.SQL.Add(SQLStr);
ADOQuery.Open;执行的时候总是报错:试图执行的查询中不包含作为合计函数一部分的特定表达式'FileName'。请问这是怎么回事?
是我的SQL语句写错了??
我想统计表中PhoneNumber的重复次数,写得SQL:SQLStr := 'select PhoneNumber, count(PhoneNumber) as Total, FileName from Phones where FileName = ''' + FileName + ''' group by PhoneNumber having count(PhoneNumber) > 1';ADOQuery.SQL.Add(SQLStr);
ADOQuery.Open;执行的时候总是报错:试图执行的查询中不包含作为合计函数一部分的特定表达式'FileName'。请问这是怎么回事?
是我的SQL语句写错了??
from Phones where FileName = ''' + FileName + '''
group by PhoneNumber,FileName
having count(PhoneNumber) > 1';
from Phones where FileName = ''' + FileName + '''
group by PhoneNumber
having count(PhoneNumber) > 1';
from Phones where FileName = ''' + FileName + '''
group by PhoneNumber,FileName
having count(PhoneNumber) > 1';
如果你分组,你查询的字段如果不是函数(如min(),max())那必须出现在Group by 里面.