Sql server 2008 如何在sql server中获取数据结果的百分比
我想在结果数据中获得一列的百分比。 最后,我想知道有效和无效的百分比或计数Sql server 2008 如何在sql server中获取数据结果的百分比,sql-server-2008,Sql Server 2008,我想在结果数据中获得一列的百分比。 最后,我想知道有效和无效的百分比或计数 select study_date_dossier_pret ,study_id ,rapport_signe_date ,DATEDIFF(minute,[rapport_signe_date],[study_date_dossier_pret]) as TIME , case when DATEDIFF(minute,[rapport_signe_date],[study_date_dossier_pret
select
study_date_dossier_pret
,study_id
,rapport_signe_date
,DATEDIFF(minute,[rapport_signe_date],[study_date_dossier_pret]) as TIME
, case
when DATEDIFF(minute,[rapport_signe_date],[study_date_dossier_pret]) <=0 then 'invalide'
else 'valide'
end Etat
from PremierTrimestre
,rapportPremierTrimestre
WHERE PremierTrimestre.study_uid=rapportPremierTrimestre.rapport_study_id
您可以获得以下数字:
SELECT SUM(t.invalid) AS nr_of_invalid, SUM(t.valid) AS nr_of_valid
FROM
(
SELECT
...
,CASE WHEN DATEDIFF(minute, [rapport_signe_date], [study_date_dossier_pret]) <= 0
THEN 1
ELSE 0
END AS invalid
,CASE WHEN DATEDIFF(minute, [rapport_signe_date], [study_date_dossier_pret]) <= 0
THEN 0
ELSE 1
END AS valid
FROM PremierTrimestre, rapportPremierTrimestre
WHERE PremierTrimestre.study_uid = rapportPremierTrimestre.rapport_study_id
) t
现在你需要做数学运算,把你想要的列放在那里,这是我的最终结果:
研究|研究|日期|档案|关系|签署|日期|时间| Etat
2014-01-12 13:12:28.000 349344 2014-01-12 13:21:29.000-9名残疾人
2014-01-12 13:09:38.000 349346 2014-01-12 12:51:32.000 18 valide
2014-01-12 13:55:05.000 349373 2014-01-12 13:53:07.000 2 valide
2014-01-12 14:04:38.000 349374 2014-01-12 14:02:07.000 2 valide
我想从这个结果中,按百分比得到有多少有效行和无效行
例如:
valide 82%
残废18%如果你只有一张纸和一支铅笔,你怎么计算这个百分比?你是什么意思,蒂姆!!不工作、无效和有效不是表格的列没有人说它们是。。它们是我根据您的条件设置的计数器。请向我显示最终查询,您不能仅粘贴我需要的内容wrote@gilas-示例数据和预期输出将避免这些混淆如果您粘贴我的查询而不使用…,您必须至少获得一些我不想为您编写代码的内容。。。我给你的查询必须给你有效和无效的数字,然后你只需要做有效/有效+无效。你知道什么是团员吗?