Это небольшой фрагмент из моей таблицы, которая в настоящее время содержит ~ 10000000 строкВыбор макс (дата) дважды из одной и той же таблицы, для различных условий
+---------+---------------------+-----------+----------------+
| card_id | date | avg_price | foil_avg_price |
+---------+---------------------+-----------+----------------+
| 10000 | 2014-06-28 09:05:56 | 5.02 | 10.22 |
| 20000 | 2014-06-28 09:05:54 | 14.58 | 25.10 |
| 10000 | 2014-06-29 09:05:56 | 0.00 | 19.62 |
| 20000 | 2014-06-29 09:05:54 | 14.58 | 0.00 |
| 10000 | 2014-07-01 09:05:56 | 0.00 | 19.62 |
| 20000 | 2014-07-01 09:05:54 | 0.00 | 25.10 |
+---------+---------------------+-----------+----------------+
Это история цен на карты, в том числе то, что avg_price и то, что foil_avg_price было на каждый день или около того.
Я хотел бы выбрать для группы идентификаторов карты самую последнюю дату, когда foil_avg_price была> 0, какая цена была и самая последняя дата, когда avg_price была> 0, и какая была цена , Мой результате набор данных для чего-то выше, будет выглядеть следующим образом:
+---------+---------------------+-----------+---------------------+----------------+
| card_id | avg_date | avg_price | foil_date | foil_avg_price |
+---------+---------------------+-----------+---------------------+----------------+
| 10000 | 2014-06-28 09:05:56 | 5.02 | 2014-07-01 09:05:54 | 19.62 |
| 20000 | 2014-06-29 09:05:54 | 14.58 | 2014-07-01 09:05:54 | 25.10 |
+---------+---------------------+-----------+---------------------+----------------+
Я уверен, что это связано внутреннее соединение на том же столе, но я совсем не могу получить мою голову вокруг него. Любая помощь приветствуется.
Спасибо за ответ. Исправьте меня, если я ошибаюсь, но не будет ли LIMIT 1 в первом подборе, чтобы этот запрос не возвращал больше одной строки? Мне нужно вернуть эти данные для группы идентификаторов карт, например. card_id in (10000,20000, ...) – lebenski
Похоже, я неправильно понял ваш вопрос - я думал, что вы хотите ТОЛЬКО последнее значение по всем строкам. Я отредактирую свой ответ. –
Выполнено, ответ отредактирован. –