[英]Query results per month instead of a whole period
我現在基本上得到的是大約6個月的時間患者-6個月中的事件數1 2 3 4 5
我想要得到的是
患者-第1個月-...第2個月-...第3個月至第6個月的事件數1 2 3 4 5
哪個ofc結果是相同的,只是它們被按月划分,而不是全部在一個列中
CREATE PROCEDURE PMP.TOP5BonosVencidos
(
@pComienzo_Semestre datetime = null
)
AS
BEGIN
select TOP 5 PACIENTE_DOCUMENTO, PACIENTE_NOMBRE, PACIENTE_APELLIDO, COUNT(*)
from PMP.BONO_FARMACIA, PMP.PACIENTE, PMP.COMPRA_BONO
where CAST(FECHA_VENCIMIENTO AS DATE) >= CAST(@pComienzo_Semestre AS DATE) AND
CAST(FECHA_VENCIMIENTO AS DATE) < DATEADD(month,6,CAST(@pComienzo_Semestre AS DATE)) AND
PMP.PACIENTE.PACIENTE_ID = COMPRA_BONO_PACIENTE_ID AND
COMPRA_BONO_CANTIDAD_FARMACIA > 0 AND
COMPRA_BONO_ID = COMPRA_BONO
group by PACIENTE_DOCUMENTO, PACIENTE_NOMBRE, PACIENTE_APELLIDO
order by COUNT(*) DESC
END
GO
您可以將月份添加到分組中:
select TOP 5 PACIENTE_DOCUMENTO, PACIENTE_NOMBRE, PACIENTE_APELLIDO, DATEPART(Month, FECHA_VENCIMIENTO) as [Month], COUNT(*)
from PMP.BONO_FARMACIA, PMP.PACIENTE, PMP.COMPRA_BONO
where CAST(FECHA_VENCIMIENTO AS DATE) >= CAST(@pComienzo_Semestre AS DATE) AND
CAST(FECHA_VENCIMIENTO AS DATE) < DATEADD(month,6,CAST(@pComienzo_Semestre AS DATE)) AND
PMP.PACIENTE.PACIENTE_ID = COMPRA_BONO_PACIENTE_ID AND
COMPRA_BONO_CANTIDAD_FARMACIA > 0 AND
COMPRA_BONO_ID = COMPRA_BONO
group by PACIENTE_DOCUMENTO, PACIENTE_NOMBRE, PACIENTE_APELLIDO, DATEPART(Month, FECHA_VENCIMIENTO)
我刪除了ORDER BY
因為我不確定在這種情況下應該訂購什么-請自行添加相關訂購。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.