MySQL Select query - удалить ненужные строки

0

У меня есть таблица со следующим (я отсортировал ее по дате):

ID        prodId    date
16      532     2015-08-17
19      535     2014-08-18
18      534     2011-08-17
27      48      2010-08-26
26      1541    2010-08-25
25      1541    2010-08-21
24      1540    2010-08-20
21      48      2010-08-19
20      48      2010-08-18
17      533     2010-08-17
14      532     2010-08-17
22      1540    1970-01-01

Я хочу выбрать самую последнюю информацию о дате, о которой идет речь в прошлом. Моя проблема в том, что я получаю несколько prodId с одинаковым значением (в этом примере 48 и 1541).

Мой запрос в настоящее время:

SELECT * FROM `prods` WHERE (date <= '2010-08-26')  order by date DESC

Как мне изменить свой запрос на удаление нежелательных строк?

  • 1
    Что это такое activeUntil ?
  • 0
    Человеческая ошибка>. <Должна быть дата
Теги:

3 ответа

2
Лучший ответ
SELECT * FROM prods p1
WHERE (date <= '2010-08-26') 
AND Date in (Select Max(Date) from prods p2 where p1.prodId = pr.ProdId 
             and date <= '2010-08-26')
order by activeUntil DESC
  • 0
    Это именно то, что я хотел = D Спасибо.
0

Вы ищете инструкцию LIMIT?

SELECT * FROM `prods` WHERE (date <= '2010-08-26')  order by activeUntil DESC LIMIT 1
0

добавить limit 1 для запроса

Ещё вопросы

Сообщество Overcoder
Наверх
Меню