1. 程式人生 > >mySql 學習總結

mySql 學習總結

    今天基本完成了專案的模組的基本功能,剩下的就是對專案的吃透,對各種工具類的掌握,其中sql語句的書寫就顯得很重要了,特別是新的任務就是   寫一個統計板塊,sql語句基本從網上各大扒,基本已經成型,上沒有完成的是對sql語句執行完之後得到的資料的封裝並且轉發給前端

            現總結今天的SQL函式

select sum(case when  sys_user.uName ='超級管理員' then 1 else 0 end) ,
          sum(case when  biz_order.uId = '21' then 1 else 0 end)  ,
          sum(case when  biz_order.uId = 'QiuZhiLinCeShi' then 1 else 0 end) 
from biz_order
LEFT JOIN sys_user ON sys_user.uId = biz_order.uId
WHERE year(biz_order.oAcceptanceDate)BETWEEN '2017' AND '2018'; 
group by biz_order.uId
     這是一個列轉行的方式
select   
sum(case month(biz_order.oAcceptanceDate) when '1' then 1 else 0 end) as January,  
sum(case month(biz_order.oAcceptanceDate) when '2' then 1 else 0 end) as February,  
sum(case month(biz_order.oAcceptanceDate) when '3' then 1 else 0 end) as March,  
sum(case month(biz_order.oAcceptanceDate) when '4' then 1 else 0 end) as April,  
sum(case month(biz_order.oAcceptanceDate) when '5' then 1 else 0 end) as May,  
sum(case month(biz_order.oAcceptanceDate) when '6' then 1 else 0 end) as June, 
sum(case month(biz_order.oAcceptanceDate) when '7' then 1 else 0 end) as July,  
sum(case month(biz_order.oAcceptanceDate) when '8' then 1 else 0 end) as August,  
sum(case month(biz_order.oAcceptanceDate) when '9' then 1 else 0 end) as September,  
sum(case month(biz_order.oAcceptanceDate) when '10' then 1 else 0 end) as October,  
sum(case month(biz_order.oAcceptanceDate) when '11' then 1 else 0 end) as November,  
sum(case month(biz_order.oAcceptanceDate) when '12' then 1 else 0 end) as December  
from biz_order  
where year(biz_order.oAcceptanceDate)='2018'; 
以上就是我的專案涉及到的行轉列的地方