DB2中的COUNT函数用于返回满足给定条件的行数。GROUP BY用于根据查询中给出的条件在组中划分行。
如果我们在INVOICE_ID上执行GROUP BY,而在INVOICE_ID中只有几行具有NULL值,则空值会形成一个单独的组。例如,如果我们有下表。
ORDER_ID | INVOICE_ID |
---|---|
A11234 | 3214 |
A55611 | 3214 |
A99867 | 空值 |
A55671 | 3214 |
A88907 | 空值 |
A56012 | 6701 |
在执行对INVOICE_ID执行GROUP BY并计算行数的查询时,我们将获得以下结果。
SELECT INVOICE_ID, COUNT(*) AS INVOICE COUNT FROM ORDERS GROUP BY INVOICE_ID;
INVOICE_ID | 发票数 |
---|---|
3214 | 3 |
空值 | 2 |
6701 | 1 |