SELECT a.loginid as logid,
sum(IF(a.courseid = 30, a.watchtime, 0)) AS '公共基础',
sum(IF(a.courseid = 31, a.watchtime, 0)) AS '道路工程',
sum(IF(a.courseid = 32, a.watchtime, 0)) AS '交通工程',
sum(IF(a.courseid = 33, a.watchtime, 0)) AS '桥隧工程',
sum(IF(a.courseid = 34, a.watchtime, 0)) AS '水运材料'
FROM line_on a GROUP BY loginid
现在有一个表2 :
表2的course与表1的courseid对应,需要表1的watchtime结果除以表2的classhour,求占比。
怎么实现呢?
1、你是求表1的横向占比,还是纵向占比呢?如果是纵向占比(各logid在同一个courseid中的占比),那除不除表2的classhour占比结果都是一样的,只有求横向占比(各courseid在同一个logid中的占比)除以表2的classhour才会起作用
2、如果是横向占比,如果表2只有这几条数据,那在进行表1的行转列时就可以顺便关联表2的course然后把classhour除了,这样求占比就方便了