Junior
Таҳлили боздидҳои клубҳои фитнес Шумо ҳамчун таҳлилгар дар шабакаи клубҳои фитнес кор мекунед. Шумо маълумот дар бораи боздидҳои корбарон ва обунаҳое, ки онҳо мехаранд, доред. Зарур аст, ки самаранокии истифодаи обунаҳоро таҳлил кунед. Барои ҳар як навъи обуна: • шумораи умумии корбароне, ки ин навъи обунаро истифода бурдаанд. танҳо user_id-ҳои беназмро ба назар гиред; • шумораи умумии боздидҳо бо ин обуна. Ҳама боздидҳои корбарон бо ин обунаҳоро ба назар гиред; • ҳиссаи корбарон аз ин обуна дар фоиз аз шумораи умумии корбарон (ба як нуқтаи пас аз нӯг). Барои ҳисоб кардани ҳисса, нисбати шумораи корбарон бо ин обуна ба шумораи умумии корбарон назар кунед. Ҳар корбар метавонад танҳо як обуна дошта бошад. Натиҷаро ба навъи обуна ба тартиби алифбоӣ сорт кунед. Формати воридот Ҷадвали memberships: • membership_id (int) — шенасоии беназмии обуна • user_id (int) — шенасоии беназмии корбар • membership_type (text) — навъи обуна Ҷадвали visits: • visit_id (int) — шенасоии беназмии боздид • user_id (int) — шенасоии корбар • visit_date (timestamp) — санаи ва вақти боздид Маълумотҳо ягон арзишҳои холӣ ё нодуруст надоранд. Формати натиҷа Пурсиш бояд таблицаро бо майдонҳо дар чунин тартиб баргардонад: • membership_type (text) — навъи обуна • users_count (int) — шумораи корбарони беназм бо ин навъи обуна • total_visits (int) — шумораи умумии боздидҳои корбарон бо ин обуна • user_share (numeric) — ҳиссаи корбарон дар фоиз бо ин обуна аз шумораи умумӣ (ба як нуқтаи пас аз нӯг).
sobes.tech AI
Ҷавоб аз AI
sql WITH user_counts AS ( SELECT membership_type, COUNT(DISTINCT user_id) AS users_count FROM memberships GROUP BY membership_type ),
total_users AS ( SELECT COUNT(DISTINCT user_id) AS total FROM memberships ),
visits_count AS ( SELECT m.membership_type, COUNT(v.visit_id) AS total_visits FROM visits v JOIN memberships m ON v.user_id = m.user_id GROUP BY m.membership_type )
SELECT uc.membership_type, uc.users_count, COALESCE(vc.total_visits, 0) AS total_visits, ROUND((uc.users_count::numeric / t.total) * 100, 1) AS user_share FROM user_counts uc JOIN total_users t ON true LEFT JOIN visits_count vc ON uc.membership_type = vc.membership_type ORDER BY uc.membership_type;