用count and sum function

解决方案 »

  1.   

    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM([修复时间]-[故障时刻])
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT [故障名称ID],count(DISTINCT [记录标识ID]) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID
      

  2.   

    select 故障名称ID,sum(故障次数) from 表名 group by 故障名称ID
      

  3.   

    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM([修复时间]-[故障时刻])
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT [故障名称ID],count(DISTINCT [记录标识ID]) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID
      

  4.   

    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM([修复时间]-[故障时刻])
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT [故障名称ID],count(DISTINCT [记录标识ID]) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID
      

  5.   

    select 故障名称ID, count(记录标识ID),count (distinct 用户ID ) ,sum(修复时间) from l_reliability_data
    group by 故障名称ID
      

  6.   

    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM(修复时间-故障时刻)
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT 故障名称ID,count(DISTINCT 记录标识ID) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID还有行吗?你什么错误?
      

  7.   

    呵呵,不好意思,看错字段了。把“修复时间”看成是修复时刻Datetime类型的字段了。同意kuangning(郎之间)(穷人)(其实什么都不是),否则也可以这么写
    --------------------------
    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM(修复时间)
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT 故障名称ID,count(DISTINCT 记录标识ID) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID
      

  8.   

    SELECT a.*,b.* FROM 
    (SELECT 故障名称ID,COUNT(*) AS 故障次数,SUM(修复时间-故障时刻)
       FROM l_reliability_data GROUP BY  故障名称ID) a,
    (SELECT 故障名称ID,count(DISTINCT 记录标识ID) AS 用户数
        FROM l_reliability_data GROUP BY 故障名称ID) b
    WHERE a.故障名称ID=b.故障名称ID肯定不行!没有看见‘修复时间’是一个整性的吗?他就是故障时长
      

  9.   

    最好用临时表,不要用一句SQL语句实现。
    否则涉及到SQL语句优化问题和SQl语句复杂度问题
      

  10.   

    可是我怎么实现quickreport中按类(A.B.C)划分三列呢?
      

  11.   

    使用case语句,应该能解决这个问题。请查一下sqlserver的帮助吧,
      

  12.   

    Select 故障名称ID,
           Count(*) 故障次数,
           Count(Distinct 用户ID) 用户数,
           SUM(修复时间) 故障总时间
    From l_reliability_data
    Group By 故障名称ID不太明白你的“修复时间”字段和“故障总时间”的含义,我的理解是把“修复时间”求和。
         ____     ____
         \ p \   / g /
          \ l \_/ n /
           \ a   o /
            \ i s /
             \ n /
              \_/
      

  13.   

    对于这种报表格式delphi不能实现吗??????????????