У меня есть таблица под названием «Статьи» в этой таблице. У меня есть 2 столбца, которые будут необходимы при создании запроса, который я хочу создать. Первый столбец - столбец dateStamp
, который является столбцом типа даты. Второй столбец - столбец Counter
, который является столбцом int (255). В столбце Counter
технически хранятся представления для этого конкретного поля.Получение последних 30 дней записей
Я пытаюсь создать запрос, который будет генерировать последние 30 дней записей. Затем он будет упорядочивать записи на основе большинства просмотров. Этот запрос будет принимать только 10 записей. Текущий запрос у меня есть это:
SELECT *
FROM Articles
WHERE DATEDIFF(day, dateStamp, getdate()) BETWEEN 0 and 30
LIMIT 10
) TOP10
ORDER BY Counter DESC
Этот запрос не показывает каких-либо записей, но я не понимаю, что я делаю неправильно. Какие-либо предложения?
Почему вы используете синтаксис SQL Server, если вы помечаете свой вопрос MySQL? Запрос в вашем вопросе не будет работать в любой базе данных, о которой я могу думать. –
«день» - это зарезервированное слово в MYSQL; вы должны переименовать его, чтобы избежать странных проблем. Вы также можете проверить формат дат перед их сопоставлением. – Sablefoste
@Sablefoste Посмотрите еще раз. Это ключевое слово, но не зарезервированное слово. В списке ключевых слов нет (R). – Barmar