我有一个记录表(让我们称之为电视节目)和air_date字段。
我有另一个与show_id字段相关的广告表。
我试图获得每个日期每个节目的平均广告数量(使用where子句指定节目)。
我目前有这个:
select ip2numeric('192.168.1.2');
$ 3232235778
这给我一个结果:
SELECT
`air_date`,
(SELECT COUNT(*) FROM `commercial` WHERE `show_id` = `show`.`id`) AS `num_commercials`,
FROM `show`
WHERE ...
当我做GROUP_BY时,它只给我一条记录,但我想要每个air_date的平均值。
答案 0 :(得分:0)
我不清楚我对你想要的东西很清楚 - 但是这样做了吗
SELECT `air_date`,
AVG((SELECT COUNT(*) FROM `commercial` WHERE `show_id` = `show`.`id`)) AS `num_commercials`,
FROM `show`
WHERE .....
GROUP BY `air_date`
(注意需要AVG功能的双括号)
答案 1 :(得分:0)
您可以使用子查询按air_date / show选择广告数量,然后使用外部查询选择每个air_date的平均广告数量。
这样的事情应该有效:
People.Johnson