我想知道此查询将返回多少行:
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)
Run Code Online (Sandbox Code Playgroud)
所以我尝试过:
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)
Run Code Online (Sandbox Code Playgroud)
但它告诉我每组有多少行.
如何获取第一个查询将返回的行数?
这应该工作.但它不是高效的.
(如果你只对计数感兴趣,你可能不想计算总和和排序)
SELECT COUNT(*)
FROM (
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)
) i
Run Code Online (Sandbox Code Playgroud)
试试这个
SELECT COUNT( DISTINCT i.month_year )
FROM (
SELECT
CONCAT( MONTH(DHSTMP), YEAR(DHSTMP) ) AS month_year
FROM DSHDAY
WHERE DHSTMP BETWEEN '2009-07-26 00:00:00' AND '2011-03-09 23:59:59'
) i
Run Code Online (Sandbox Code Playgroud)
变化(回答迈克的评论)
SELECT COUNT(*)
FROM (
SELECT 0
FROM DSHDAY
WHERE DHSTMP BETWEEN '2009-07-26 00:00:00' AND '2011-03-09 23:59:59'
GROUP BY
YEAR(DHSTMP),
MONTH(DHSTMP)
) i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39578 次 |
| 最近记录: |