每年我们都有12个月.我应该编写一个查询,每个月在一个表中选择.例如,我应该制作报告,告诉我每个月的交易次数.
我做错了,但做错了.
我每个月都写了12个查询.
像这样 :
SET @MONTH12M = (SELECT SUM(Amount) AS TOT
FROM [fidilio].[dbo].[CardTransactionLog] CL
JOIN CardTransaction CT ON CT.CardTransactionLogId = CL.CardTransactionLogId
WHERE (cl.TransactionPersianTimeStamp > N'1393/12/01'
AND cl.TransactionPersianTimeStamp< N'1393/12/31')
)
INSERT INTO #TEMP(MonthValue, CountValue, TypeValue)
SELECT
12,
CASE WHEN @MONTH12M IS NULL THEN 0 ELSE @MONTH12M END,4
Run Code Online (Sandbox Code Playgroud)
我有11个这样的查询.
最后我获取了我放入临时表的结果.
我怎么能动态地这样做?
我怎么能用循环呢?
您可以使用group by每月生成统计数据:
select month(date_column)
, sum(amount)
from YourTable
group by
month(date_column)
Run Code Online (Sandbox Code Playgroud)
T-SQL 函数month从日期时间列中提取数字月份。
| 归档时间: |
|
| 查看次数: |
750 次 |
| 最近记录: |