假设我们有一个名为'entries”的数据表,其中包含日期(date)和条目数(count)两列。我们可以使用以下SQL查询来按天计算新条目数:
SELECT curr.date, curr.count - COALESCE(prev.count, 0) AS new_entries FROM ( SELECT date, COUNT() AS count FROM entries GROUP BY date ) AS curr LEFT JOIN ( SELECT date, COUNT() AS count FROM entries GROUP BY date ) AS prev ON curr.date = DATEADD(day, 1, prev.date) ORDER BY curr.date;
该查询使用两个子查询,curr和prev,其中curr计算每天的总条目数,prev计算前一天的总条目数。然后使用LEFT JOIN将它们组合起来以计算新条目数。如果prev没有记录,则默认为0。最后,结果按日期排序。
请注意,上面的代码示例仅适用于SQL Server。如果您在使用不同的数据库管理系统,可能需要相应调整查询。