我在该表中有一个名为“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
此查询未显示任何记录,但我不明白我做错了什么。有什么建议吗?
答案 0 :(得分:2)
查询的MySQL版本如下所示:
SELECT a.*
FROM Articles a
WHERE a.dateStamp >= CURDATE() - interval 30 day
ORDER BY a.counter DESC
LIMIT 10;
您的查询正在生成错误。您应该在修复查询之前查看该错误。
查询在SQL Server中看起来会有所不同。