我有這個示例,我在其中計算記錄數并將它們顯示為CustomerIDCount. 我也想包括,LatestDate但我不確定是否需要另一個查詢,或者我可以將它添加到這個?
SQLFiddle
設定
CREATE TABLE log
(
[CustomerID] [int] NULL,
[LogDate] [datetime] NULL
);
INSERT INTO log ([CustomerID], [LogDate])
VALUES
(1, 2021-02-12),
(2, 2021-02-12),
(1, 2021-02-12),
(3, 2021-03-12),
(4, 2021-02-12)
;
我的嘗試:
SELECT
CustomerID, COUNT(*) CustomerIDCount
FROM
(SELECT CustomerID
FROM log) g
GROUP BY
CustomerID
ORDER BY
CustomerIDCount
結果:
| 客戶ID | 客戶 IDCount |
|---|---|
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 1 | 2 |
但我想要的結果是:
| 客戶ID | 客戶 IDCount | 最新日期 |
|---|---|---|
| 2 | 1 | 2021-02-12 |
| 3 | 1 | 2021-03-12 |
| 4 | 1 | 2021-02-12 |
| 1 | 2 | 2021-03-12 |
uj5u.com熱心網友回復:
您不需要使用子查詢,只需將 Max(LogDate) 添加到查詢中即可。
select CustomerID, count(*) CustomerIDCount, max(LogDate) as max_LogDate
from log
group by CustomerID
order by CustomerIDCount
uj5u.com熱心網友回復:
很難從這些有限的資訊中分辨出來,并且假設您在客戶 ID 上有一個 Group By,并帶有一個 COUNT。您可以將 MAX(LatestDate) 添加到該查詢嗎?
uj5u.com熱心網友回復:
SELECT CustomerID
, Count(*) AS CustomerIDCount
, Max(LogDate) AS LastestDate
FROM log
GROUP
BY CustomerID
;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/421787.html
標籤:
上一篇:同時更新和洗掉Postgres
