1
我想知道有多少行如何去這個查詢返回:如何使用db2中的group by子句做COUNT(*)?
SELECT
MONTH(DHSTMP), SUM(DHDLDY), SUM(DHBUDS), YEAR(DHSTMP)
FROM
DSHDAY
WHERE
DHSTMP BETWEEN '2009-07-26 00:00:00' AND '2011-03-09 23:59:59'
GROUP BY
YEAR(DHSTMP), MONTH(DHSTMP) ORDER BY YEAR(DHSTMP), MONTH(DHSTMP)
所以,我想:
SELECT
COUNT(*)
FROM
DSHDAY
WHERE
DHSTMP BETWEEN '2009-07-26 00:00:00' AND '2011-03-09 23:59:59'
GROUP BY
YEAR(DHSTMP), MONTH(DHSTMP)
但它告訴我多少行每個組。
如何獲取第一個查詢將返回的行數?
我注意到,這也適用,它是否更好的性能? SELECT COUNT(*)FROM(SELECT 0 FROM DSHDAY WHERE DHSTMP BETWEEN'2009-07-26 00:00:00'AND'2011-03-09 23:59:59')i – Mike 2011-03-09 16:13:19
您的變體會將這些條目數加倍同月/年。這就是爲什麼我在列連接上做了一個明確的計數。如果添加了GROUP BY,則評論中的SQL可能沒有問題。看到我編輯的答案。 – 2011-03-09 16:32:49