需要MySQL查询帮助吗

需要MySQL查询帮助吗,mysql,Mysql,我有一张这样的桌子 CREATE TABLE `air_video` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `date` DATE NOT NULL, `time` TIME NOT NULL, `asset_id` INT(10) UNSIGNED NOT NULL, `duration` TIME NOT NULL, `name` VARCHAR(100) NOT NULL, PRIMARY KEY (`id`), ) COLLAT

我有一张这样的桌子

CREATE TABLE `air_video` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`date` DATE NOT NULL,
`time` TIME NOT NULL,
`asset_id` INT(10) UNSIGNED NOT NULL,
`duration` TIME NOT NULL,
`name` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`),
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
有一些条目具有相同的
资产id
持续时间
名称
,但不同的
日期
时间
。这些都是在一段时间内多次播放的视频

我需要计算每个月分组的不同视频的总持续时间。
请给出一些想法?

因此,您需要每月每个不同视频的持续时间总和:

select
  year,
  month,
  sec_to_time(sum(time_to_sec(duration))) as totaltime
from
  (select distinct
    av.asset_id,
    av.duration,
    year(av.date) as year,  
    month(av.date) as month
  from
    air_video av)
group by
  year,
  month
因此,您需要每月每个视频的
总持续时间,
分组

RobertHarvey在评论中建议巧妙使用分组(谢谢)。
time\u to_sec
用于将时间值转换为秒,以便求和

select
  av.asset_id,
  year(av.date) as year,  
  month(av.date) as month,
  sec_to_time(sum(time_to_sec(av.duration))) as totaltime
from
  air_video av
group by
  av.asset_id,
  year(av.date), 
  month(av.date)

GolezTrol,谢谢你的帮助。但我需要每月一行与本月独特的视频持续时间的总和。例如,我的表中有10个月的数据——我需要得到10行,每个月的独特视频的总持续时间。有可能吗?你的意思是,你每月需要一行,从中可以得到当月播放的所有视频的总和,但只计算一次每个不同的视频?是的,这就是我需要的,请看我修改后的答案。如果有可能的话-每个月不同视频的平均每天持续时间。