联合MySQL查询中的所有操作

时间:2018-06-11 05:44:13

标签: mysql

我有这个问题:

#create data
data_C2<-data.frame(original=c("<0.1", "0.2", "0.3", "0.4", "0.5"))
data_C2$flow<-as.numeric(gsub("<","",data_C2$original, ignore.case = TRUE))
data_C2$weather<-c("DRY", "DRY", "RAIN", "RAIN", "RAIN")

data_C2
      original flow weather
1     <0.1  0.1     DRY
2      0.2  0.2     DRY
3      0.3  0.3    RAIN
4      0.4  0.4    RAIN
5      0.5  0.5    RAIN

table_averages_C2 <- aggregate(flow~weather, data=data_C2, FUN=mean, na.rm = TRUE)

#check if any flow number in weather group has "<" sign
table_averages_C2$qualifier<-sapply(table_averages_C2$weather, function(group) {
  ifelse(any(grepl("<", data_C2$original[which(data_C2$weather==group)])), "<", "")})

#add "<" to flow average
table_averages_C2$flow<-paste0(table_averages_C2$qualifier, table_averages_C2$flow)

table_averages_C2[,-3]
  weather  flow
1     DRY <0.15
2    RAIN   0.4

,此查询的输出如下:

(SELECT 
    month_range,
    sum(new_unmetered_feeders_rural + new_metered_defective_rural) as total,
    '' as month_range,
    '' as total_target
FROM
    tbl_metered_feeders
WHERE
    division_id = 252
        and date_format(STR_TO_DATE(month_range, '%m-%Y'),
            '%Y-%m') BETWEEN ('2018-04') AND ('2019-03')
group by SUBSTRING_INDEX(month_range, '-', - 2)
order by SUBSTRING_INDEX(month_range, '-', - 1) , SUBSTRING_INDEX(month_range, '-', 1) asc) 
union all 
(SELECT 
    '' as month_range,
    '' as total_target,
    month_range,
    sum(new_unmetered_feeders_rural + new_metered_defective_rural) as total
FROM
    tbl_metered_feeders_target
WHERE
    division_id = 252
        and date_format(STR_TO_DATE(month_range, '%m-%Y'),
            '%Y-%m') BETWEEN ('2018-04') AND ('2019-03')
group by SUBSTRING_INDEX(month_range, '-', - 2)
order by SUBSTRING_INDEX(month_range, '-', - 1) , SUBSTRING_INDEX(month_range, '-', 1) asc)

预期产出:

| month_range |      total      | month_range    | total_target|
| 06-2018     |     200         | -              |  -          |
  -           |   -             |  08-2018       |  150        |

我希望这是一排。我将如何修改我的查询来实现这一目标?

0 个答案:

没有答案