|
2 / 2 / 0
Регистрация: 28.11.2008
Сообщений: 11
|
||||||
Посчитать процент значения одоной записи от суммы всех записей18.02.2010, 19:10. Показов 71914. Ответов 17
Метки нет (Все метки)
Люди добрые, подскажите, кто сталкивался уже или знает решение.
Есть табличка продаж. К примеру: помидоры - 20 огурцы - 30 яблоки - 50 Как без использования циклов, в операторе select напротив каждого наименования вывести процент продаж по нему от общей суммы? То есть помидоры - 20/100 огурцы - 30/100 яблоки - 50/100 Пробовала выкручивать агрегирующие функции, требует group by по названию, что убивает сам смысл суммы. Подзапросы тоже не помогают... Есть какие-то варианты? Добавлено через 28 минут Плохой пример, извиняюсь... Вот так лучше: Группа -Наименов. - Количество овощи - помидоры - 10 овощи - огурцы - 20 овощи - морковь - 50 фрукты - яблоко - 30 фрукты - слива - 70 В запросе показать: овощи - помидоры - 10% от овощей овощи - огурцы - 20% от овощей овощи - морковь - 50% от овощей фрукты - яблоко - 30% от фруктов фрукты - слива - 70% от фруктов Пробовала
1
|
||||||
| 18.02.2010, 19:10 | |
|
Ответы с готовыми решениями:
17
|
|
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||||||
| 18.02.2010, 19:28 | ||||||
2
|
||||||
|
2 / 2 / 0
Регистрация: 28.11.2008
Сообщений: 11
|
|
| 19.02.2010, 11:47 [ТС] | |
|
Спасибо, спасибо, все работает)))!!! Доделала.
1
|
|
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
|
| 05.06.2021, 12:52 | |
|
Спустя десять лет
но все же. Можете мне пояснить по данному запросу.Пробовал под свои значения подогнать данный запрос, но не вышло. Мне нужна подобная сортировка только у меня две таблицы задействованы.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
||||||
| 06.06.2021, 01:13 | ||||||
|
Добавлено через 2 часа 7 минут
Есть две таблицы со столбцами: users(id, country_id) orders(id, user_id, amount_usd) Нужно написать запрос, который бы выводил: country_id, user_id и долю от дохода, полученную со страны регистрации пользователя (country_id): Пример вывода: country_id user_id percent RU 12 6.33 BY 112 1.11 RU 632 2.51 UA 231 4.65qwertehok, Добавлено через 2 часа 24 минуты Попробовал написать так
0
|
||||||
| 06.06.2021, 02:37 | |||||
|
во первых подзапрос во вторых запрос ты выводишь 2 поля ИМХО давайка ты просто найчись таблицы соединять, а потом главу по GROUP BY изучи, а только потом за запрос берись
0
|
|||||
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
|
| 06.06.2021, 02:40 | |
|
Все равно спасибо))
Я сейчас делаю тестовое, чтобы меня взяли на обучение)) вот по этому и на ходу разбираюсь.
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||||||
| 06.06.2021, 10:42 | ||||||
Сообщение было отмечено pincet как решение
Решение
AndreyMocievich, для решения подобных задач подзапросы не нужны, совсем. Средства для этого появились еще за 5 лет до первого ответа в этой теме.
1
|
||||||
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
||||||
| 06.06.2021, 11:10 | ||||||
|
немного подкорректировал запрос.
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
||||||
| 10.06.2021, 10:18 | ||||||
|
А посидев еще, решение получилось лучше
0
|
||||||
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
||
| 10.06.2021, 10:33 | ||
|
1. Вы его не проверяли в работе, ибо запрос синтаксически и неверен. 2. Оно основывается на предположении, что в orders не более одной строки для каждого user_id. И в этом случае group by не нужен, который, кстати, тоже неверно написан.
0
|
||
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
|
| 10.06.2021, 11:14 | |
|
Ох, как вы ошибаетесь в своих суждениях.
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 10.06.2021, 11:53 | |
|
AndreyMocievich, показанный вами запрос на MSSQL работать не будет. И это абсолютная истина.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
|
| 10.06.2021, 12:10 | |
|
При этом он прекрасно выполняет свою задачу на MySQL
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|
| 10.06.2021, 12:38 | |
|
AndreyMocievich, отлично, мы выяснили, что для вас без разницы MSSQL или MySQL.
Теперь проверим прекрасность выполнения задачи. Я даже не поленился полигон сделать - https://dbfiddle.uk/?rdbms=mys... b1dee9b24d ЗЫ: Читайте до полного понимания что такое оконные ранжирующие и агрегирующие функции, и как и когда они работают.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2020
Сообщений: 8
|
|
| 10.06.2021, 13:17 | |
|
Какой ресурс или книгу ты бы порекомендовал для глубокого понимания этой темы?
0
|
|
|
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
|
|||||||||||
| 10.06.2021, 13:55 | |||||||||||
Сообщение было отмечено pincet как решение
Решение
AndreyMocievich, не знаю. Лично мне всегда хватало документации.
Добавлено через 25 минут AndreyMocievich, вообще можно руководствоваться простым правилом - оконные функции применяются не внутри запроса (подзапроса) а к его результату. Т.е. ваш
0
|
|||||||||||
| 10.06.2021, 13:55 | |
|
Помогаю со студенческими работами здесь
18
Оптимизация запросов. 3,5+ млн записей в базе. Надо посчитать записи. Как посчитать количество записей в одной таблице, соответствующие записи в другой?
core data запрос на получение суммы атрибута, всех записей Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|