Mysql SQL未将秒数拆分为秒数时间和

Mysql SQL未将秒数拆分为秒数时间和,mysql,sql,subquery,Mysql,Sql,Subquery,我正在尝试按活动id拆分每个查询的总和 例如,如果agent1进入campaign\u id:505并进入Admin 1小时。和Agent1也不要进入campaign\u id:2小时 这需要拆分,但显示的是活动id:3小时 代码 set @fromDate = '2018-06-29 00:00:01'; set @ToDate = '2018-06-29 23:59:59'; SELECT full_name, log.user, log.campa

我正在尝试按活动id拆分每个查询的总和

例如,如果
agent1
进入
campaign\u id
:505并进入Admin 1小时。和
Agent1
也不要进入
campaign\u id
:2小时

这需要拆分,但显示的是
活动id
:3小时

代码

    set @fromDate = '2018-06-29 00:00:01';
    set @ToDate = '2018-06-29 23:59:59';

    SELECT full_name,
    log.user,
    log.campaign_id,
    count(log.Status) as calls (sec_to_time(sum(pause_sec)+sum(wait_sec)+sum(talk_sec)+sum(dispo_sec)+sum(dead_sec))) as AgentTime,
    (sec_to_time(sum(log.wait_sec))) as Wait,
    (sec_to_time(sum(log.talk_sec))) as Talk,
    (sec_to_time(sum(log.dispo_sec))) as Dispo,
    (sec_to_time(sum(log.dead_sec))) as Dead,
    (sec_to_time(sum(log.pause_sec))) as Pause, 
    Adminlog.Admin,
    BreakLog.Break,
    BUZZLog.BUZZ,
    ITLog.IT,
    LaggedLog.Lagged,

FROM Table1 as log
left join table2 as users
on log.user = users.user

left join (SELECT 
        user,
        campaign_id,
        (sec_to_time(sum(pause_sec))) as Admin
        from Table1 
        where (sub_status='Admin')
        and (event_time > @fromDate and event_time < @toDate)
        group by user) as Adminlog
    on log.user = Adminlog.user

left join (SELECT
        user,
        campaign_id,
        (sec_to_time(sum(pause_sec))) as Break
        from Table1 
        where (sub_status='Break')
        and (event_time > @fromDate and event_time < @toDate)
        group by user) as BreakLog
    on log.user = BreakLog.user

left join (SELECT
        user,
        campaign_id,
        (sec_to_time(sum(pause_sec))) as BUZZ
        from Table1 
        where (sub_status='BUZZ')
        and (event_time > @fromDate and event_time < @toDate)
        group by user) as BUZZLog
    on log.user = BUZZLog.user

left join (SELECT
        user,
        campaign_id,
        (sec_to_time(sum(pause_sec))) as IT
        from Table1 
        where (sub_status='IT')
        and (event_time > @fromDate and event_time < @toDate)
        group by user) as ITLog
    on log.user = ITLog.user

left join (SELECT
        user,
        campaign_id,
        (sec_to_time(sum(pause_sec))) as Lagged
        from Table1 
        where (sub_status='Lagged')
        and (event_time > @fromDate and event_time < @toDate)
        group by user) as LaggedLog
    on log.user = LaggedLog.user

where (log.event_time > @fromDate and event_time < @toDate)

group by campaign_id, user

在本例中,我需要“Admin”来显示该活动的管理时间。

什么类型的SQL?嗨,Shawn,MYSQL。谢谢我觉得我们的“例如”中缺少了一些词,但检查查询我的第一反应是,如果您希望在结果中有任何与capaign\U id有意义的关联,您可能应该按照
user
campaign\u id
对子查询进行分组。谢谢您的评论。我不知道为什么我的例子会变成这样。。我在子查询中尝试了用户Camapign_id,但仍然得到了相同的结果:(
Full_name  User  Campaign_id  Calls  AgentTime ..... Admin
Agent1     101      505         2    01:01:23       01:54:57
Agent1     101      506         4    05:12:20       01:54:57
Agent1     101      507         22   00:21:36       01:54:57