【发布时间】:2018-08-01 14:33:57
【问题描述】:
我有两个问题。一个产生特定过程类型的记录总数。另一个按物种产生该特定程序的记录数
我试图弄清楚如何获取并获得每种特定程序类型的计数和平均数。
按过程类型查询产生总数:
/* The following query will show the total number of studies by imaging area. */
SELECT
PlacerFld2 AS "Type of Procedure", Count(*) AS "Count of Procedures"
FROM
[order] o
WHERE
lastmodifieddate BETWEEN '2017-01-01 00:00:00' AND '2017-12-31 23:59:59'
AND SiteBridgeID = '1' /* Medical Imaging */
AND OrderStatusID <> '4'
AND placerfld2 IN ('CARD', 'CARM', 'CRFL', 'CT', 'I131', 'LACR', 'LAUS', 'NUCMED','OUTFM','PCCR','PETCT','PETR','PHMR','SACR','SAES','SAMR','SAUS','VRC','VRUS')
GROUP BY
PlacerFld2
ORDER BY
PlacerFld2 ASC
示例输出:
CT 2056
SAMR 1800
SACR 3600
查询产生的程序总数(按物种)
/* The following query will break down the number of studies by species */
SELECT PlacerFld2 AS "Type of Procedure", City AS Species, Count(*) AS "Count of Procedures"
FROM [order] o
LEFT JOIN Visit v
ON o.VisitID = v.VisitID
LEFT JOIN PatientInfo pif
ON v.PatientID = pif.PatientID
LEFT JOIN Patient p
ON pif.PatientID = p.PatientID
LEFT JOIN PersonalInfo perinfo
ON p.PersonalInfoID = perinfo.PersonalInfoID
WHERE o.lastmodifieddate between '2017-01-01 00:00:00' AND '2017-12-31 23:59:59'
AND SiteBridgeID = '1' /* Medical Imaging */
AND OrderStatusID <> '4'
AND placerfld2 IN ('CARD','CARM','CRFL','CT','I131','LACR','LAUS','NUCMED','OUTFM','PCCR','PETCT','PETR','PHMR','SACR','SAES','SAMR','SAUS','VRC','VRUS')
GROUP BY Placerfld2, CITY
ORDER BY placerfld2 ASC, CITY ASC
示例表输出:
CT CANINE 1500
CT FELINE 556
SAMR CANINE 1000
SAMR FELINE 600
SAMR EQUINE 200
期望的结果:
CT CANINE 1500 72.9%
CT FELINE 556 27.1%
SAMR CANINE 1000 55.5%
SAMR FELINE 600 33.3%
SAMR EQUINE 200 11.1%
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
标签: sql sql-server average