|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
Всем добрый день! Прошу помочь в решении одной задачки. Никак не удается написать правильно запрос. Задача - Посчитать процент тех, кто послушал хотя бы два трека по рекомендации друзей, от всех пользователей? Скрин таблицы во вложении. Название таблицы - listen_table. В таблице лежат следующие данные: likes - стандартный палец вверх likes_1-likes_3 - оценка песни по трем критериям (бит, слова, музыка) source_id - имеет 4 значения: 1 - песня из рубрики популярное или подборки приложений 2 - песня из сохраненных 3 - песня из рекомендаций 4 - песня от друзей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 13:52 |
|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
dim086 Никак не удается написать правильно запрос. Решите по отдельности три задачи (тремя разными запросами): 1) получить количество пользователей, кто прослушал два трека по рекомендации 2) получить количество всех пользователей 3) посчитать процент X от Y И финальный запрос станет очевидным. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 22:51 |
|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
Gluck99, Задаю такой запрос. Select count(distinct user_id)/(select count(distinct user_id) From listen_table) * 100 as prc FROM listen_table Where source_id=4 Ответ. 35 % Задаю такой запрос. Select count(user_id)/(select count(user_id) From listen_table) * 100 as prc FROM listen_table Where source_id=4 Ответ. 20% Но правильный ответ 8% Как его получить я не понимаю. Что я упускаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2021, 10:18 |
|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
Либо еще так пробую. select (select count(distinct user_id) from listen_table where user_id in (select user_id from listen_table group by user_id having count(user_id) > 2) and source_id = 4) / count(*) * 100 as prc from listen_table Ответ 9%. Правильный если прям точно, то - 8,11% ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2021, 11:23 |
|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
dim086, я заметил, что главное правило 90% просящих здесь совета - это игнорировать любые советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2021, 14:41 |
|
Помощь в написании правильного запроса в MySQL.
|
|||
---|---|---|---|
#18+
Gluck99, Уже все. Спасибо. Решил. Вот верный запрос. select (select count(*) from (select user_id from listen_table where source_id = 4 group by user_id having count(user_id) > 1) t) / count(distinct user_id) * 100 as prc from listen_table ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2021, 14:51 |
|
|
start [/forum/topic.php?fid=47&fpage=7&tid=1827996]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 171ms |
0 / 0 |