| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 705 人关注过本帖, 1 人收藏
标题:请教各位大虾SUM()函数怎样用
只看楼主 加入收藏
老油子
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-3-21
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:6 
请教各位大虾SUM()函数怎样用
一个表tt,有两个字段tt1,tt2

下面这条语句倒底有没有没错?

sele tt1,sum(case when tt2>500 then 1 else 0 end) from tt grou by tt1
2012-03-21 23:39
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 楼主 老油子
TT表的结构:
用SELECT要达到的目的。

坚守VFP最后的阵地
2012-03-21 23:51
老油子
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-3-21
收藏
得分:0 
tt表结构
tt1      tt2
a1       557
a1       558
a2       559
a3       400
a2       353
a1       442

要求达到:
tt1      CNT
a1       2
a2       1
a3       0
2012-03-21 23:56
老油子
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-3-21
收藏
得分:0 
sele tt1,coun(*) CNT from tt where tt2>500 grou by tt1   可以满足要求

但我想用sum()来实现

求证下面语句为什么是错的

sele tt1,sum(case when tt2>500 then 1 else 0 end) cnt from tt grou by tt1


[ 本帖最后由 老油子 于 2012-3-22 00:01 编辑 ]
2012-03-21 23:59
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:20 
case:VFP 中没有这个函数及命令
应该是ICASE()函数,可能你把函数写错了。该函数的功能类似于DO CASE   ENDCASE命令。
程序代码:
CREATE CURSOR tt (tt1 c(2),tt2 n(3))
INSERT INTO TT VALUES ("A1",557)
INSERT INTO TT VALUES ("A1",558)
INSERT INTO TT VALUES ("A2",559)
INSERT INTO TT VALUES ("A3",400)
INSERT INTO TT VALUES ("A2",353)
INSERT INTO TT VALUES ("A1",442)
SELECT TT1,SUM(IIF(TT2>500,1,0)) AS TT2 FROM TT GROUP BY TT1
*或者
SELECT TT1,SUM(ICASE(TT2>500,1,0)) AS TT2 FROM TT GROUP BY TT1

case when tt2>500 then 1 else 0 end
语句不对

[ 本帖最后由 sdta 于 2012-3-22 01:05 编辑 ]

坚守VFP最后的阵地
2012-03-22 00:15
老油子
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-3-21
收藏
得分:0 
感谢sdta!!!!!!问题已解决了。

VFP中 sum(icase(tt2<500,1,0)) 不能用,sum(iif(tt2>500,1,0))可以用
主要是我编程的环境不对。
2012-03-22 09:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 6楼 老油子
你用的可能不是纯VFP环境

坚守VFP最后的阵地
2012-03-22 09:57
快速回复:请教各位大虾SUM()函数怎样用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044185 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved