RStudio 操作MySQL數據庫


Rstudio 操作mysql實現行轉列

 

# 加載類庫
require(RMySQL)
library(RMySQL)

# 建立本地連接
con<-dbConnect(MySQL(),host='xxxx',port=xxx,dbname="xx",user="xx",password="xxxx")

# 修改編碼 , 否則會出現中文亂碼
dbSendQuery(con, "SET NAMES gbk") 

# 查看數據表
dbListTables(con)

# 查看表字段
dbListFields(con, "xx")

# 查詢MySQL信息
summary(MySQL(), verbose = TRUE)

# mysql 連接示例信息
summary(con, verbose = TRUE)

# MySQL鏈接信息
dbListConnections(MySQL())



# 數據查詢
# 編輯查詢語句
query_0 = "select 
              a.point_name
              ,a.monitor_time
              ,a.pm25
          from xx a
          where a.region_code='xx'
          and DATE_FORMAT(a.monitor_time,'%Y%m')='201811'
          GROUP BY a.monitor_time
          ORDER BY a.monitor_time;"

# 轉置
query_1="select 
           a.monitor_time as mon_time
           ,MAX(case a.point_name WHEN '開封' then a.pm25 else 0 END) '開封'
           ,MAX(case a.point_name WHEN '婦幼保健院' then a.pm25 else 0 END) '婦幼保健院'
           ,MAX(case a.point_name WHEN '龍亭公園' then a.pm25 else 0 END) '龍亭公園'
           ,MAX(case a.point_name WHEN '世紀星幼兒園' then a.pm25 else 0 END) '世紀星幼兒園'
           ,MAX(case a.point_name WHEN '腫瘤醫院' then a.pm25 else 0 END) '腫瘤醫院'
        from  xx a 
        where a.region_code='xx'
        and DATE_FORMAT(a.monitor_time,'%Y%m')='201811'
        GROUP BY a.monitor_time
        ORDER BY a.monitor_time;"


# 執行查詢
d0 <- dbGetQuery(con, query_1)

# 關閉連接
dbDisconnect(con)

  

原數據輸出

 

目標結果輸出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM