Скажем, у меня есть ненормированная таблица с именами киноактеров и фильмами, в которых они были. Например:
CREATE TABLE movies_actors (
movies_actors_id INT,
movie VARCHAR(255),
actor VARCHAR(255),
PRIMARY KEY (movies_actors_id)
);
Я делаю SELECT actor, COUNT(1) FROM movies_actors GROUP BY actor
, чтобы узнать, сколько фильмов актер был. Но я также хочу узнать, какой процент фильмов, в которых находился актер.
Думаю, я мог бы сделать это:
SELECT
actor,
COUNT(1) AS total,
COUNT(1) / (SELECT COUNT(1) FROM movies_actors) * 100 AS avg
FROM movies_actors
GROUP BY actor;
Но это просто кажется... idk... yucky.
Любые идеи?