select 电压,路名,sum(case 良好 then 1 else 0) as 良好,sum(case 缺陷 then 1 else 0) as 缺陷 from table

解决方案 »

  1.   

    select 电压,路名,count(良好),count(缺陷) from table group by 
    电压,路名
      

  2.   

    你拿到,SQL论坛去问问,应该可以解决。
      

  3.   

    你拿到,SQL论坛去问问,应该可以解决。
      

  4.   

    select 电压,路名,
      sum(case 设备情况 when '良好' then 1 else 0 end) as 良好, 
      sum(case 设备情况 when '缺陷' then 1 else 0 end) as 缺陷
    from 你的表名
    group by 电压,路名
      

  5.   

    我的语句是SQL Server中的
    你还没说使用的数据库是什么 :(
      

  6.   

    var
    i,j:integer;
    i:=0;
    j:=0;
    table.first;
    do
    begin
    query.add('select 电压,路名, 良好 from table');
    if not null then i:=i+1;
    query.add('select 电压,路名, 缺陷 from table');
    if not null then j:=j+1;
    end;
    table.next;
    while not table.eof
      

  7.   

    电压   路名   良好               缺陷
    500    AAAA  良好的个数         有缺陷的个数
    500    BBBB  良好的个数         有缺陷的个数
    220    AAAA  良好的个数         有缺陷的个数
    //做一张临时表吧,数据组织好后写到这里
      

  8.   

    很急,连续发了3个100分的帖子没有人回答,帮个忙吧。
    http://www.csdn.net/expert/topic/799/799889.xml?temp=.2711603
    http://www.csdn.net/expert/topic/799/799789.xml?temp=.6369135
    http://www.csdn.net/expert/topic/795/795315.xml?temp=.9500238谁能解决,全部可用分相送!
      

  9.   

    select 电压,路名,sum(case when 设备情况='良好' then 1 end) as 良好,
    sum(case when 设备情况='缺陷' then 1 end) as 缺陷,from table group by 电压,路名
      

  10.   

    sql server7.0 下
    select 电压,路名,
          sum(case when 设备情况='良好' then 1 end) as 良好,
          sum(case when 设备情况='缺陷' then 1 end) as 缺陷,
         from yourtable 
         group by 电压,路名
      

  11.   

    我用的是sql server 7.0
    现在的结果是(良好和缺陷里显示的是空值)
    电压   路名   良好               缺陷
    500    AAAA  
    500    BBBB  
    220    AAAA
      

  12.   

    select 电压,路名,
      sum(case Trim(设备情况) when '良好' then 1 else 0 end) as 良好, 
      sum(case Trim(设备情况) when '缺陷' then 1 else 0 end) as 缺陷
    from 你的表名
    group by 电压,路名/* 请再试试 */
      

  13.   

    select A.电压,A.路名,A.良好,B.缺陷
    from (select 电压,路名,count(*) AS 良好 from yourtable  WHERE 设备情况='良好' group by 电压,路名) A,
    (select 电压,路名,count(*) as 缺陷 from yourtable  WHERE 设备情况='缺陷' group by 电压,路名) B
    WHERE A.电压=B.电压 AND A.路名=B.路名
      

  14.   

    直接用一个sql语句应该是做不到的,可以分批查询出来再产生结果表
      

  15.   

    SQL如果解决不了就在客户端写个统计程序,应该不难吧。
      

  16.   

    go
    use tempdb
    go
    create table 电压表 (
      电压 int,
      路名 varchar(10),
      设备情况 varchar(10)
    )
    go
    insert into 电压表 (电压,路名,设备情况) values ('500','AAAA','良好');
    insert into 电压表 (电压,路名,设备情况) values ('500','AAAA','缺陷');
    insert into 电压表 (电压,路名,设备情况) values ('500','BBBB','良好');
    insert into 电压表 (电压,路名,设备情况) values ('500','AAAA','缺陷');
    insert into 电压表 (电压,路名,设备情况) values ('500','AAAA','良好');
    insert into 电压表 (电压,路名,设备情况) values ('220','AAAA','良好');
    go
    select 电压,路名,
      sum(case 设备情况 when '良好' then 1 else 0 end) as 良好, 
      sum(case 设备情况 when '缺陷' then 1 else 0 end) as 缺陷
    from 电压表
    group by 电压,路名/*
    这是我调试的结果
    电压 路名 良好 缺陷
    220 AAAA    2    0
    500 AAAA    4    4
    500 BBBB    2    0
    */
      

  17.   

    zswang(伴水)的答案应该是对的。