【发布时间】:2016-10-30 01:57:33
【问题描述】:
我在该表中有一个名为“Articles”的表,我有 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,为什么要使用 SQL Server 语法?您问题中的查询不会在我能想到的任何数据库中运行。
-
day是MYSQL中的保留字;你应该重命名它以避免奇怪的问题。您可能还想在比较日期之前检查日期的格式。 -
@Sablefoste 再看一遍。它是关键字,但不是保留字。关键字列表中没有 (R)。