我有这个问题:
#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 |
我希望这是一排。我将如何修改我的查询来实现这一目标?