簡體   English   中英

每月查詢結果,而不是整個期間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM