Мне нужно для зачета составить 2 запроса1 вывести название самого популярного производителя товара из некоторой таблицы2. Вывести из таблицы товаров все склады где не содержится определенный тип товаров. Я смог составить нечто подобное, но он просто выводит записи, где не указан заданный параметр.
Бамп
А мне не нужно. Хорошо быть мной!
>>895197 (OP)1) select name from production order by popularity desc limit 12) зависит от структуры таблицпопробуй использовать WHERE NOT EXISTS(select 1 from products <нужно тебе условие>) 3) пиздуй в ВСЕ БАЗЫ ТРЕД.
>>895237>popularityЯ видимо неверно выразилсяМне нужно вывести название производителя, который чаще всего встречается в данной таблице>2Попробую, спасибо> 3) пиздуй в ВСЕ БАЗЫ ТРЕД.Окей, буду знать
>>895244select manufacturer from (select manufacturer, count(1) cnt from production group by manufacturer order by cnt desc) where rownum = 1Из предположения, что он такой один. А если вдруг больше одного, то нужно чуть-чуть поебаться с row_number
>>8952502 так:select distinct sklad from production p1 where not exists (select 1 from production p2 where p2.sklad = p1.sklad and p2.product = &tvoy_product)
>>895250Придумал, как 1 по красоте:select manufacturer from production group by manufacturer having count(1) = (select max(cnt) from (select count(1) cnt from production group by manufacturer))Это запрос вернет всех производителей, у которых популярность максимальна. Хоть я и не уверен, что это самый простой и профессиональный способ написания запроса, но работает же)
>>895257А еще я тебе все написал на оракле, прости, не заметил, что тебе нужно...
>>895261вот да, я тоже подумал, что немного не то
>>895257>Хоть я и не уверен, что это самый простой и профессиональный способ написания запроса,если у тебя постгря, ты можешь сделать EXPLAIN ANALYZE на сам запрос, и посмотреть его производительность.В отличии от других ЯП, эффективность запроса часто стоит выше в SQL, чем красивость реализации.
>>895263Может запятая после мануф?И как я уже сказал, мы с тобой разные.