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
select 故障名称ID,sum(故障次数) from 表名 group by 故障名称ID
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
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
select 故障名称ID, count(记录标识ID),count (distinct 用户ID ) ,sum(修复时间) from l_reliability_data group by 故障名称ID
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还有行吗?你什么错误?
呵呵,不好意思,看错字段了。把“修复时间”看成是修复时刻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
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肯定不行!没有看见‘修复时间’是一个整性的吗?他就是故障时长
最好用临时表,不要用一句SQL语句实现。 否则涉及到SQL语句优化问题和SQl语句复杂度问题
可是我怎么实现quickreport中按类(A.B.C)划分三列呢?
使用case语句,应该能解决这个问题。请查一下sqlserver的帮助吧,
Select 故障名称ID, Count(*) 故障次数, Count(Distinct 用户ID) 用户数, SUM(修复时间) 故障总时间 From l_reliability_data Group By 故障名称ID不太明白你的“修复时间”字段和“故障总时间”的含义,我的理解是把“修复时间”求和。 ____ ____ \ p \ / g / \ l \_/ n / \ a o / \ i s / \ n / \_/
(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
(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
(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
group by 故障名称ID
(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还有行吗?你什么错误?
--------------------------
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
(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肯定不行!没有看见‘修复时间’是一个整性的吗?他就是故障时长
否则涉及到SQL语句优化问题和SQl语句复杂度问题
Count(*) 故障次数,
Count(Distinct 用户ID) 用户数,
SUM(修复时间) 故障总时间
From l_reliability_data
Group By 故障名称ID不太明白你的“修复时间”字段和“故障总时间”的含义,我的理解是把“修复时间”求和。
____ ____
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/