香蜜沉沉烬如霜 2019-04-06 21:53 采纳率: 0%
浏览 644

mysql 行转列,并取最新时间的数据

图片说明

如图,行转列,并且取最新时间的数据。期待结果,sql如下,不知道如何优化一下

图片说明

select a.score as '语文',a.name, g.score as '数学' FROM score a

INNER JOIN(
select max(b.time)as time,name from score b WHERE b.class='语文'
group by b.name) c

on a.name = c.name and a.time = c.time
left JOIN(
SELECT d.score,d.name,d.class from score d

INNER JOIN(
select max(e.time) as time,name from score e where e.class='数学' group by e.name
) f

on d.name = f.name and d.time = f.time) as g on a.name = g.name

  • 写回答

1条回答 默认 最新

  • 珍妮玛•黛金 领域专家: 后端开发技术领域 2019-04-07 12:09
    关注
    评论

报告相同问题?