[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 11 | 2 | 5
Назад Вниз Каталог Обновить

Программач, выручай с PSQL! Аноним 16/12/16 Птн 11:51:40  895197  
14812272753670.png (29Кб, 747x491)
Мне нужно для зачета составить 2 запроса
1 вывести название самого популярного производителя товара из некоторой таблицы
2. Вывести из таблицы товаров все склады где не содержится определенный тип товаров. Я смог составить нечто подобное, но он просто выводит записи, где не указан заданный параметр.
Аноним 16/12/16 Птн 12:58:26  895222
Бамп
Аноним 16/12/16 Птн 13:20:26  895231
А мне не нужно. Хорошо быть мной!
Аноним 16/12/16 Птн 13:31:07  895237
>>895197 (OP)
1) select name from production order by popularity desc limit 1

2) зависит от структуры таблиц
попробуй использовать WHERE NOT EXISTS(select 1 from products <нужно тебе условие>)

3) пиздуй в ВСЕ БАЗЫ ТРЕД.

Аноним 16/12/16 Птн 13:46:40  895244
>>895237
>popularity
Я видимо неверно выразился
Мне нужно вывести название производителя, который чаще всего встречается в данной таблице

>2
Попробую, спасибо
> 3) пиздуй в ВСЕ БАЗЫ ТРЕД.
Окей, буду знать
Аноним 16/12/16 Птн 13:54:39  895250
>>895244
select manufacturer from (select manufacturer, count(1) cnt from production group by manufacturer order by cnt desc) where rownum = 1

Из предположения, что он такой один. А если вдруг больше одного, то нужно чуть-чуть поебаться с row_number
Аноним 16/12/16 Птн 13:58:18  895255
>>895250
2 так:

select distinct sklad from production p1 where not exists (select 1 from production p2 where p2.sklad = p1.sklad and p2.product = &tvoy_product)
Аноним 16/12/16 Птн 14:04:08  895257
>>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))

Это запрос вернет всех производителей, у которых популярность максимальна. Хоть я и не уверен, что это самый простой и профессиональный способ написания запроса, но работает же)
Аноним 16/12/16 Птн 14:12:08  895261
>>895257
А еще я тебе все написал на оракле, прости, не заметил, что тебе нужно...
Аноним 16/12/16 Птн 14:13:19  895263
36789875645.PNG (13Кб, 849x320)
>>895261
вот да, я тоже подумал, что немного не то
Аноним 16/12/16 Птн 14:13:39  895264
>>895257
>Хоть я и не уверен, что это самый простой и профессиональный способ написания запроса,

если у тебя постгря, ты можешь сделать EXPLAIN ANALYZE на сам запрос, и посмотреть его производительность.

В отличии от других ЯП, эффективность запроса часто стоит выше в SQL, чем красивость реализации.
Аноним 16/12/16 Птн 14:14:52  895265
>>895263
Может запятая после мануф?
И как я уже сказал, мы с тобой разные.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 11 | 2 | 5
Назад Вверх Каталог Обновить

Топ тредов
Избранное