我有一个表格,其中包含某些日期的条目:
id | word | date
1 | word1 | 2014-03-27 (today)
2 | word2 | 2014-03-27 (today)
3 | word1 | 2012-01-21
3 | word1 | 2011-04-14
在上表中,word1
总共出现了 3 次,但今天只出现了一次。我想要的是创建一个查询,显示今天的计数和每个词的一般情况。我能想到的唯一方法是在查询中使用另一个 SELECT
,但这很慢而且会使事情复杂化。
还有别的办法吗?
最佳答案
你可以在没有子查询的情况下做到这一点:
SELECT
COUNT(word) AS all_count,
COUNT(IF(`date`=CURDATE(), word, NULL)) AS today_count
FROM
t
WHERE
word='word1'
关于MySQL:获取特定日期和总体记录的 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22682629/