select count(*) from XXX where toll>=1000
或
select * from XXX where toll>=1000
或
select * from XXX where toll>=1000
解决方案 »
- 这个RSA加密算法好用吗?为什么我用1024位,产生了172个字节?请高手解说一下,谢谢
- 关于使用MethodAddress方法调出的过程中带参数的问题
- 如何清除ClientDataSet中的数据
- 最简单的问题,马上就给分
- [求助]如何取得本Application的版本号
- 请问大虾:如何动态修改SQL SERVER 表结构!
- 关于treeview的问题,!!!!!!!!在线等!!!!!!!!!!
- 如何往数据库存取jpg图片,望指教
- Delphi7ADO莫明问题2
- 程序移植出错???
- 声音录制的问题,我只能给这没多分了.
- 各位大虾,我快要急死了,帮帮我吧.一个关于使用QuickRep分页打印的问题
或
select * from XXX where toll>=1000 AND substr(YEAR,1,4)='2000'
不知可否?请校正
很遗憾,要统计的是一年的总和超过 1000元的厂数并列清单。
例如:查询超过一百万的企业清单:id name toll
3 dd 1453256.00
1、功能细分:
a、在一个Stringlist中列出所有不重复的厂名; b、SELECT * FROM Table WHERE (LEFT(Year, 4) = '2000') AND (RIGHT(Year, 2) IN ([1,2,3,4,5,6,7,8,9,10,11,12])) AND
(NAME='aa') 统计年利润; c、循环Stringlist中的值,取最大。2、是否有直接利用查询语句解决的方案?关注!
我自己觉得关键在于如何提取一个企业的所有记录统计某一年的总和,然后再比较
要查询的数额,再把所有符合条件的企业名单列出。
select distinct name, sum(toll) as toll into #TempTbl from SourseTbl
where substring(year,1,4)='2000' group by name
然后再查询
select name,toll from #tempTbl where toll>1000
(在sql server之类的大型数据库支持带#号的临时表,断开连接后临时表自动删除,如果是在paradox之类的数据库,用select...into...from...创建一个表,查询完成后drop掉即可)
OK啦
let me try!!
TollNum:string;//传入上限金额
-------------------------------------------------
var
str_sql:string;
begin
str_sql:='select ID,Name,AllToll '+
'from '+
'(select ID,Name,AllToll=sum(Toll) from TableName '+
' where SubStr(Year,1,4)='''+Year+''' '+
' group by ID,Name) a '+
'where AllToll>='+TotalNum+' order by ID';
with Query do
begin
close;
sql.clear;
sql.add(str_sql);
open;
end;
end;
TollNum:string;//传入上限金额
-------------------------------------------------
var
str_sql:string;
begin
str_sql:='select ID,Name,AllToll '+
'from '+
'(select ID,Name,AllToll=sum(Toll) from TableName '+
' where SubStr(Year,1,4)='''+Year+''' '+
' group by ID,Name) a '+
'where AllToll>='+TotalNum+' order by ID';
with Query do
begin
close;
sql.clear;
sql.add(str_sql);
open;
end;
end;
group name
HAVING (SUM(total) >= 1000)
where SubStr(Year,1,4)='2000'
group by name
HAVING (SUM(total) >= 1000)
where SubStr(Year,1,4)='2000'