我有一個包含警報事件歷史記錄的表。我認為與此相關的唯一列是訊息,但還有其他列,例如時間/日期和來源。
這是一個示例表:
| 時間/日期 | 資訊 | 來源 |
|---|---|---|
| 2022-04-27/11:59:28 | 代碼 1 | 變頻器1 |
| 2022-04-27/11:59:37 | 代碼 4 | 變頻器1 |
| 2022-04-27/11:59:39 | 代碼 1 | 變頻器1 |
| 2022-04-27/11:59:42 | 代碼2 | 變頻器1 |
| 2022-04-27/11:59:44 | 代碼 1 | 變頻器1 |
| 2022-04-27/11:59:46 | 代碼 3 | 變頻器1 |
| 2022-04-27/11:59:48 | 代碼 1 | 變頻器1 |
| 2022-04-27/11:59:50 | 代碼 2 | 變頻器1 |
由此,我想創建這樣的東西:
| 資訊 | 出現次數 |
|---|---|
| 代碼 1 | 4 |
| 代碼 2 | 2 |
| 代碼 3 | 1 |
| 代碼 4 | 1 |
這是在 SCADA 軟體包 (ICONICS/Genesis64) 中完成的,所以我不確定 SQL 的確切風格,但我認為它應該是 Microsoft SQL Server 或類似的。
我可以運行這個:
SELECT COUNT( DISTINCT Message) as Messages FROM dm_Alarms
得到我有多少唯一值,但我被困在如何計算每個唯一值,然后列出它們。
而且我不知道我對 Message 可能擁有的所有價值,它可能非常多,并且會隨著時間而改變。
謝謝你
uj5u.com熱心網友回復:
看來您只需要匯總?
select Message, count(*) Occurrences
from dm_Alarms
group by Message;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/466129.html
上一篇:使用SQL函式更新表
下一篇:鏈接服務器查詢慢,統計回傳時間長
