我想获取1到90天内添加的商店总数。我想在7天,14天,30天,60天和90天内显示他们添加的商店数量。我想通过使用1计数查询来获取所有这些。 我正在使用以下查询。如果我以这种方式使用查询,那么我必须多次编写查询。
SEELCT COUNT(storeid) AS totalStores FROM example
WHERE DATEDIFF(CURDATE(), date_created)
答案 0 :(得分:1)
你可以把它作为一个支点:
SELECT
sum(days <= 7) AS total7,
sum(days <= 14) AS total14,
sum(days <= 30) AS total30,
sum(days <= 60) AS total60,
sum(days <= 90) AS total90
FROM (
SELECT DATEDIFF(CURDATE(), date_created) as days
FROM example
) x
sum(condition)
语法有效(在mysql中),因为true为1而false为0,所以总结一个条件可以计算出它的真实次数。
子查询用于使代码更具可读性并添加一点性能(对datediff()
的调用每行只进行一次)。