我看到的問題隨後所有的線時間(也許是一元后會如何處理他們提出):記錄零計數記錄的聚合查詢的名稱是什麼?
獲取[某些領域]的計數[某些對象。
凡問題通常在於:
SELECT myField, COUNT(*)
FROM myTable
GROUP BY myField;
這將不會返回有0計數行,所以它通常包括預成型的外連接回到談判桌來獲得這些計數。
是否有這種類型的程序的名稱?它仍然只是簡單的Aggregation
?我不知道它是不同的原因,是因爲它涉及使用連接來聚合在表中不存在的數據。
此外,我聽說過特殊類型的聚合,如conditional aggregation
,所以我認爲這種類型的操作可能會有一個術語[俚語或標準]。
編輯,解釋一下我的意思是通過數據「不存在」考慮用戶表是這樣的:
| id | name |
+----+-------+
| 1 | John |
| 2 | Bob |
| 3 | Sandy |
| 4 | Time |
和登錄表是這樣的:
| user_id | loginTime |
+---------+-----------+
| 1 | 01:43:44 |
| 1 | 02:43:44 |
| 3 | 03:43:44 |
| 3 | 04:43:44 |
| 3 | 05:43:44 |
| 4 | 06:43:44 |
如果我想獲得每個用戶的登錄總數,我可以執行以下操作:
SELECT u.id, COUNT(*) AS numLogins
FROM users u
JOIN login l ON l.user_id = u.id
GROUP BY u.id;
但是,除非使用外連接和合並函數,否則這不會爲用戶2返回一行。這種類型的操作叫什麼名字?
「因爲它涉及到使用連接來聚合te數據不存在於表中「...沒有數據不存在...數據存在....或者它不是數據...你說」哪些數據不會返回0計數「...... 0計數什麼?回答這個「什麼」,你將有需要存在的數據:)如果你想要一個例子,我最近回答了一個關於類似案例的問題:http://stackoverflow.com/questions/30082636/how-can-您顯示零排序使用年份和月份動態區間 –
條件聚合通常使用CASE實現,例如「SUM(CASE WHEN condition THEN one_int ELSE another_int END )'。 –
@FabienTheSolution我明白你在說什麼,我試圖澄清。也許*對我的問題沒有回答,但很難谷歌這樣的東西。如果有一個名字,我不知道它,反過來也不能搜索它。 – AdamMc331