我有一張人口表。

由此,我必須只回傳該月最后一天的人口計數,我已經撰寫了一個回傳以下結果的查詢:
回傳:當月最后一天的人口計數

代碼如下:
SELECT
Country
, [City Abbr]
, [Area Code]
, [Date]
FROM [dbo].[Population]
WHERE [Date] IN (
SELECT MAX ([Date])
FROM [dbo].[Population]
GROUP BY MONTH ([Date])
, YEAR ([Date])
)
ORDER BY [Area Code];
- 如何計算整個月的平均值?我想從同一個人口表中的溫度列計算平均溫度,并將其與當月最后一天的人口計數一起顯示。

- 我有另一個名為 Dead.dbo 的表,每天記錄死亡率。我必須得到當月的總死亡人數并用相同的人口表結果顯示。

最終結果必須是當月最后一天的人口數、全月平均氣溫和死亡總和(來自死亡表)。

您的幫助和指導將對我有所幫助。
問候, NewB
uj5u.com熱心網友回復:
最簡單的方法是進行子查詢。我沒有復制你所有的資料,因為我一開始就無法復制它,但是我用類似的列/值進行了一個簡單的查詢,你可以從中找出答案.
根據您的表鍵,您必須擴展(可能)國家、區號等的 where 子句。
DECLARE @Population Table(
[Date] Date
, [Population] int
, temperature dec(5, 2)
)
DECLARE @DeathNumbers TABLE(
[Date] Date
, DeathNumber int
)
INSERT INTO @Population
SELECT '2022-07-29', 1000, 32.8
UNION SELECT '2022-07-30', 980, 32.9
UNION SELECT '2022-07-31', 970, 33.9
UNION SELECT '2022-08-27', 800, 32.9
UNION SELECT '2022-08-28', 790, 32.9
UNION SELECT '2022-08-29', 785, 32.9
UNION SELECT '2022-08-30', 769, 32.9
UNION SELECT '2022-08-31', 750, 32.9
UNION SELECT '2022-09-28', 680, 32.9
UNION SELECT '2022-09-29', 675, 32.9
UNION SELECT '2022-09-30', 673, 32.9
INSERT INTO @DeathNumbers
SELECT '2022-07-29', 1
UNION SELECT '2022-07-30', 2
UNION SELECT '2022-08-15', 20
UNION SELECT '2022-08-18', 2
UNION SELECT '2022-08-22', 22
UNION SELECT '2022-09-01', 15
UNION SELECT '2022-08-29', 11
SELECT
MAX([Date]) as 'Date'
, MAX(totalDeathCount) as 'Death Count this month'
, AVG(temperature) as 'Average Temperature'
FROM @Population m
OUTER APPLY(SELECT SUM(DeathNumber) as totalDeathCount
FROM @DeathNumbers t
WHERE MONTH(t.Date) = MONTH(m.Date)
) OA2
GROUP BY MONTH(m.[Date])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/514577.html
上一篇:如何同時控制多個列?
