获取最近 30 天的记录
Getting last 30 days of records
我有一个名为 'Articles' 的 table,其中 table 我有 2 列对于创建我想要创建的查询至关重要。第一列是 dateStamp
列,它是日期时间类型的列。第二列是 Counter
列,它是一个 int(255) 列。 Counter
列在技术上包含该特定字段的视图。
我正在尝试创建一个将生成最近 30 天记录的查询。然后它将根据查看次数最多的记录排序。此查询只会获取 10 条记录。我目前的查询是这样的:
SELECT *
FROM Articles
WHERE DATEDIFF(day, dateStamp, getdate()) BETWEEN 0 and 30
LIMIT 10
) TOP10
ORDER BY Counter DESC
这个查询没有显示任何记录,但我不明白我做错了什么。有什么建议吗?
查询的 MySQL 版本如下所示:
SELECT a.*
FROM Articles a
WHERE a.dateStamp >= CURDATE() - interval 30 day
ORDER BY a.counter DESC
LIMIT 10;
您的查询产生错误。在修复查询之前,您应该查看该错误。
查询在 SQL 服务器中看起来会有所不同。
我有一个名为 'Articles' 的 table,其中 table 我有 2 列对于创建我想要创建的查询至关重要。第一列是 dateStamp
列,它是日期时间类型的列。第二列是 Counter
列,它是一个 int(255) 列。 Counter
列在技术上包含该特定字段的视图。
我正在尝试创建一个将生成最近 30 天记录的查询。然后它将根据查看次数最多的记录排序。此查询只会获取 10 条记录。我目前的查询是这样的:
SELECT *
FROM Articles
WHERE DATEDIFF(day, dateStamp, getdate()) BETWEEN 0 and 30
LIMIT 10
) TOP10
ORDER BY Counter DESC
这个查询没有显示任何记录,但我不明白我做错了什么。有什么建议吗?
查询的 MySQL 版本如下所示:
SELECT a.*
FROM Articles a
WHERE a.dateStamp >= CURDATE() - interval 30 day
ORDER BY a.counter DESC
LIMIT 10;
您的查询产生错误。在修复查询之前,您应该查看该错误。
查询在 SQL 服务器中看起来会有所不同。