Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день. Не получается разобраться как в таблице такого вида
name model qty is_visible
...........................................................................................
041312.101-01 041312.101 86 0
041312.101-02 041312.101 5 1
041312.101-09 041312.101 2 0
041312.102-09 041312.102 3 1
041312.102-06 041312.102 1 0
041312.102-02 041312.102 2 0
041312.102-01 041312.102 79 0
041312.103-03 041312.103 1 0
041312.103-26 041312.103 17 1
сделать сравнение по полю model, чтобы поле is_visible было 1 в строке с наибольшим qty этой модели либо у случайной строки модели если qty равны
то есть чтобы к примеру у этой модели is_visible было у первой строки, т.к. qty 86 самое большое
name model qty is_visible
...........................................................................................
041312.101-01 041312.101 86 0
041312.101-02 041312.101 5 1
041312.101-09 041312.101 2 0
Может кто-то подскажет в какую сторону копать?)
Неактивен
Начать, видимо, можно с того, чтобы сделать выборку всех строк той модели, у которой наибольший qty (если наибольший qty повторяется в нескольких моделях, то будет выбрана любая из тех моделей, у кого он наибольший).
Это можно сделать, например, так (результат должен быть одинаковый во всех трёх запросах):
select * from t where model = ( select model from t order by qty desc limit 1 );
или так
select t.* from t JOIN ( select model from t order by qty desc limit 1 ) sub_t using(model)
или так
select t.* from t JOIN ( select model from t order by qty desc limit 1 ) sub_t ON t.model = sub_t.model;
Неактивен