Запрос MySQL возвращает пустой набор - PullRequest
0 голосов
/ 04 марта 2019

У меня есть таблица MySQL с именем product, из которой я хотел бы получить первые 3 данные в диапазоне дат в порядке убывания количества.Моя таблица предоставлена,

# product_id, stock_id, quantity, stock_timestamp
Product ID9, Stock ID2, 1050, 2019-03-04 07:06:37
Product ID8, Stock ID2, 950, 2019-03-04 07:06:27
Product ID7, Stock ID2, 85000, 2019-03-04 07:06:17
Product ID6, Stock ID1, 750, 2019-03-04 07:06:07
Product ID5, Stock ID1, 65000, 2019-03-04 07:05:57
Product ID4, Stock ID1, 550, 2019-03-04 07:05:47
Product ID3, Stock ID, 450, 2019-03-04 07:05:37
Product ID27, Stock ID5, 1950, 2019-02-28 07:05:17
Product ID26, Stock ID5, 1850, 2019-02-28 07:05:17
Product ID25, Stock ID5, 1750, 2019-02-28 07:05:17
Product ID24, Stock ID4, 211650, 2019-02-24 07:05:17
Product ID23, Stock ID4, 1550, 2019-02-24 07:05:17
Product ID22, Stock ID4, 1450, 2019-02-24 07:05:17

Я пишу SQL-запрос, как указано,

SELECT * FROM StockHandler.product WHERE stock_timestamp BETWEEN  DATE("2019-03-03") AND DATE("2019-03-04")  ORDER BY quantity DESC  LIMIT 3 ;

Я получаю пустое значение из возвращенного запроса.Я не нахожу ошибки в SQL.Итак, как мне правильно написать?

Ответы [ 3 ]

0 голосов
/ 04 марта 2019

MySql будет обрабатывать

DATE("2019-03-03") AND DATE("2019-03-04")

как

DATE("2019-03-03 00:00:00") AND DATE("2019-03-04 00:00:00")

Вы можете использовать ответ @ fa06 или изменить время на

DATE("2019-03-03") AND DATE_ADD('2019-03-04',INTERVAL 1 DAY)
0 голосов
/ 04 марта 2019

Попробуйте без даты ()

SELECT * FROM StockHandler.product 
WHERE date(stock_timestamp) BETWEEN  '2019-03-03' AND '2019-03-04' 
ORDER BY quantity DESC  LIMIT 3 
0 голосов
/ 04 марта 2019

Попробуйте ниже - date() для stock_timestamp

SELECT * FROM StockHandler.product 
WHERE date(stock_timestamp) BETWEEN  '2019-03-03' AND '2019-03-04' 
ORDER BY quantity DESC  LIMIT 3 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...