我想要的是将静态字符串连接到数据集我想将字符串添加为min,avg,max到获取的数据。当我尝试给出一些错误时?
我的查询
select m.medTitle,
min(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m on s.dmtMedId = m.medId
group by m.medTitle
union all
select m.medTitle,
avg(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m on s.dmtMedId = m.medId
group by m.medTitle
union all
select m.medTitle,
max(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.dmtMedId = m.medId
group by m.medTitle
order by medTitle, playtime;
我在尝试什么。
select concat(m.medTitle,'minimum'),
min(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
union all
select concat(m.medTitle,'average'),
avg(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
union all
select concat(m.medTitle,'maximum'),
max(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
order by medTitle, playtime
答案 0 :(得分:2)
试试这个:
select playtime,type
from(
select m.MedId,
min(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime,
concat(m.medTitle,' (minimum)') as type
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.MedId
union all
select m.MedId,
avg(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime,
concat(m.medTitle,' (average)') as type
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.MedId
union all
select m.MedId,
max(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime,
concat(m.medTitle,' (maximum)') as type
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.MedId)a
order by MedId, playtime
答案 1 :(得分:0)
select concat(m.medTitle, 'min') medTitle,
min(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
union all
select concat(m.medTitle, 'avg') medTitle,
avg(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
union all
select m.medTitle || 'max' medTitle,
max(TIMESTAMPDIFF(SECOND, s.dmtViewStart, s.dmtViewEnd)) playtime
from tbldoctormediatracktest s
left join tblmedia m
on s.MedId = m.MedId
group by m.medTitle
order by medTitle, playtime
从链接更新了您的查询。 我注意到你需要在连接后为m.medTitle提供别名。
concat(m.medTitle, 'min')
或m.medTitle || 'min'
中的任何一个都可以用于连接。