SELECT CASE xmxx.company_name WHEN 0 THEN '一公司' WHEN 1 THEN '二公司' WHEN 2 THEN '三公司'
WHEN 3 THEN '四公司' WHEN 4 THEN '五公司' WHEN 5 THEN '隧道公司'
WHEN 5 THEN '大盾构公司' WHEN 6 THEN '建筑公司' WHEN 7 THEN '房桥公司'
WHEN 8 THEN '电气化公司' WHEN 9 THEN '房地产公司' WHEN 10 THEN '铁正公司'
WHEN 11 THEN '西北公司' WHEN 12 THEN '海外公司' WHEN 13 THEN '市政公司'
END AS company_name,
COUNT(zb.bidding_amount)AS zbxm,COUNT(xb.id)AS biddingAmount, COUNT(zb.bidding_amount)/COUNT(xb.id) AS fgl
FROM pro_scheme_tender_scheme AS zb
LEFT JOIN pro_scheme_tender_scheme_detail AS xb on zb.id=xb.pts_id
LEFT JOIN pro_scheme_project_info AS xmxx ON zb.pro_id=xmxx.id
WHERE DATE_FORMAT(zb.bidding_time,'%Y') = DATE_FORMAT(SYSDATE(),'%Y')
GROUP BY xmxx.company_name
查出结果为
行转列 可以使用 case when decode pivot等函数,可以参考下这个 http://t.csdn.cn/Pv8k5
行转列
建议楼主学习一下行转列,列转行的SQL,这个很重要,无论是实际工作,还是以后去面试都会遇到
可以参考学习
https://blog.csdn.net/qq_47776903/article/details/121379395