Size: a a a

2020 September 07

VD

Vitalii Didyk in Laravel UA
Jeen
Если в подзапросе в скобках поставить DESC сортировку не помогает?
Не-а
источник

J

Jeen in Laravel UA
Vitalii Didyk
Всем привет

Если можно, то вопрос по мускулу

Делаю запрос, и групирую по product_id, но в выборку попадает всегда intervened_date null, как бы я не сортировал его, а мне надо чтобы попадала строка с intervened_date с самой последней датой

Как такое решается?
Я что-то у тебя тут группировки не вижу. И плохо понимаю смысл запроса. Что выбрать нужно простыми словами?
источник

VD

Vitalii Didyk in Laravel UA
Jeen
Я что-то у тебя тут группировки не вижу. И плохо понимаю смысл запроса. Что выбрать нужно простыми словами?
Группировку я просто сюда не заскринил
Мне нужно группировать эти строки по product_id,  но так, чтобы у меня выбирались данные со строки, где самая последняя дата
источник

AK

Alex Kovalchuk in Laravel UA
Vitalii Didyk
Группировку я просто сюда не заскринил
Мне нужно группировать эти строки по product_id,  но так, чтобы у меня выбирались данные со строки, где самая последняя дата
а зачем групировать так,это для сортировки?
источник

VD

Vitalii Didyk in Laravel UA
Alex Kovalchuk
а зачем групировать так,это для сортировки?
мне нужно вытащить все продукты, чтобы подставлялись цены по последней дате

Один продукт имеет много цен с датами, и мне надо чтобы вывелся продукт с последней ценой. Все это в одной таблице
источник

AK

Alex Kovalchuk in Laravel UA
Vitalii Didyk
мне нужно вытащить все продукты, чтобы подставлялись цены по последней дате

Один продукт имеет много цен с датами, и мне надо чтобы вывелся продукт с последней ценой. Все это в одной таблице
ага, думаю тут поможет join поскольку надо с связи один ко многим сделать связь один к одному
источник

VD

Vitalii Didyk in Laravel UA
Alex Kovalchuk
ага, думаю тут поможет join поскольку надо с связи один ко многим сделать связь один к одному
а что к чему джоинить?
источник

VD

Vitalii Didyk in Laravel UA
Vitalii Didyk
а что к чему джоинить?
таблица то одна
источник

AK

Alex Kovalchuk in Laravel UA
Vitalii Didyk
мне нужно вытащить все продукты, чтобы подставлялись цены по последней дате

Один продукт имеет много цен с датами, и мне надо чтобы вывелся продукт с последней ценой. Все это в одной таблице
как одна? я так пойнял есть таблица продукта и есть таблица цен
источник

VD

Vitalii Didyk in Laravel UA
Alex Kovalchuk
как одна? я так пойнял есть таблица продукта и есть таблица цен
я должен работать с одной таблицей. Там есть product_id

Пример я выше в скрине кинул
источник

MA

Maksim Aleshchenko in Laravel UA
то что вы хотите реализовать одним запросом у вас не получится, так как поведение при group by выбранных строк не очевидно и order by в этом случае не поможет
источник

MA

Maksim Aleshchenko in Laravel UA
включите only_full_group_by чтобы избежать ошибок
источник

AK

Alex Kovalchuk in Laravel UA
Maksim Aleshchenko
включите only_full_group_by чтобы избежать ошибок
не надо
источник

MA

Maksim Aleshchenko in Laravel UA
надо
источник

AK

Alex Kovalchuk in Laravel UA
лучше не надо) лучше сделать более правильный запрос
источник

MA

Maksim Aleshchenko in Laravel UA
лучше надо и сделать правильный запрос
источник

MA

Maksim Aleshchenko in Laravel UA
потому что дока по mysql говорит что результаты неочевидны
источник

VD

Vitalii Didyk in Laravel UA
Так вот в этом-то и дело. Правильный запрос... Вроде мускул 8 умеет
источник

VD

Vitalii Didyk in Laravel UA
WITH ranked_messages AS (
 SELECT m.*, ROW_NUMBER() OVER (PARTITION BY name ORDER BY id DESC) AS rn
 FROM messages AS m
)
SELECT * FROM ranked_messages WHERE rn = 1;
источник

VD

Vitalii Didyk in Laravel UA
Работал кто-то с таким?
источник