香蜜沉沉烬如霜 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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振