CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

急急急!!!关于SQL的查询、统计问题。

楼主hblzq(晃晃悠悠)2002-04-03 10:00:51 在 Delphi / VCL组件开发及应用 提问

在一个表中有name,class,do_date,is_success.几个字段,do_date是做事情的时间,is_success为是否成功。请问怎样才能用一个sql统计出每个人成功的次数和失败的次数。万分着急,解决即给分。 问题点数:50、回复次数:11Top

1 楼outer2000(天外流星)回复于 2002-04-03 10:03:57 得分 0

select   name,sum(is_sucess)   from   ...Top

2 楼Liusp(夜深千帐灯)回复于 2002-04-03 10:18:57 得分 0

假设is_success为Char(1),   '0'表示失败,'1'表示成功,可这样写:  
   
  1。失败  
  Select   name,Count(is_success)   from   tablename    
  where   is_success   ='0'  
  Group   by   name  
   
  1。成功  
  Select   name,Count(is_success)   from   tablename    
  where   is_success   ='1'  
  Group   by   name  
   
   
  Top

3 楼hblzq(晃晃悠悠)回复于 2002-04-03 10:21:34 得分 0

成功时is_success为1,失败时为0。同时显示成功的次数和失败的次数。  
                      name     |       success           |       un_success      
  ----------------|---------------|----------------  
                                  |                               |Top

4 楼hblzq(晃晃悠悠)回复于 2002-04-03 10:23:14 得分 0

我说得是在一条记录中既有成功次数又有失败次数。Top

5 楼webnumen(webnumen)回复于 2002-04-03 10:23:28 得分 0

如果成功为true  
  select   name,count(is_Success)   as   Success     from   table   where   is_Success=true     and   dodate>#2000-1-1#   and   dodate<#2000-12-31#  
  group   by   name  
  失败就为  
  select   name,count(is_Success)   as   Success     from   table   where   is_Success=false     and   dodate>#2000-1-1#   and   dodate<#2000-12-31#  
  group   by   name  
   
  Top

6 楼TFPE()回复于 2002-04-03 10:32:24 得分 10

select   name   ,  
    case   is_success    
            when     '1'       count(is_success),  
            when     '0',     count(is_success),  
    group   by   name  
   
   
  用CASE好象可以         ,你先试一下Top

7 楼prometheusphinx(白日梦)回复于 2002-04-03 10:40:23 得分 0

//我假设is_success是char字段,T为成功F为失败  
  select   name,  
  sum(case   is_success   when   'T'   then   1   else   0)   sucess,  
  sum(case   is_success   when   'F'   then   1   else   0)   fail  
  from   table  
  group   by   nameTop

8 楼prometheusphinx(白日梦)回复于 2002-04-03 10:42:26 得分 0

上面的sql语句我在ms   sqlserver上试过了没问题.Top

9 楼prometheusphinx(白日梦)回复于 2002-04-03 10:43:12 得分 20

如果是oracle要用decodeTop

10 楼hblzq(晃晃悠悠)回复于 2002-04-03 11:00:39 得分 0

举个例子说一下decode的用法可以吗?Top

11 楼genphone_ru(哎,什么都要学,真累)回复于 2002-04-03 11:13:20 得分 20

select   name,  
  sum(Decode(is_success,'T',1,0))   AS   sucess,  
  sum(Decode(is_success,'F',1,0))   AS   fail  
  from   table  
  group   by   nameTop

相关问题

  • 求一条查询的SQL语句,急急急急急急
  • 急! ! 急 ! ! 急! ! 急 ! !  一简单SQL语句查询!
  • 请教查询统计的SQL语句???
  • 求SQL统计查询加速方法
  • 求一查询统计的SQl语句
  • 用 SQL 怎样查询日期??急急急
  • sql查询语句问题?急!急!急!在线求救
  • 高分跪求一SQL查询语句,急急急
  • 高分跪求一SQL查询语句,急急急
  • 高分跪求一SQL查询语句,急急急

关键词

  • success
  • 次数
  • 失败
  • 成功
  • count
  • where
  • select
  • and dodate

得分解答快速导航

  • 帖主:hblzq
  • TFPE
  • prometheusphinx
  • genphone_ru

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo