数据示例我目前正在尝试解决一个问题。我有一个数据库,里面有一个表,id co2_band,纳税年度,在.中的纳税百分比
我现在有这个代码
SELECT tax_year, CO2_BAND AS band,
CASE CO2_BAND = 116
WHEN CO2_band BETWEEN 1 AND 116 THEN'116'
WHEN CO2_band BETWEEN 95 AND 10 THEN 'fdjhgkjds'
ELSE 'here'
END AS b
FROM company_car_tax
WHERE tax_year LIKE '2015-16%'
LIMIT 1
我的问题是二氧化碳值在50-75之间,我必须四舍五入到最接近的记录,怎么能做到呢?
示例数据所以我有一个装满汽车的数据库,里面有二氧化碳的数值。如果我有一辆车,它的二氧化碳值在50-75之间则需要选择75括号
我建议您尝试下面显示的代码。请注意,CASE
条件的顺序很重要,所以我重新排列了顺序,以确保所有条件都可以满足。我通过列出从最严格到最不严格的条件来做到这一点。然而,如果我为自己做这件事,我会指定条件,这样值就不会重叠。这将消除任何混乱。
SELECT tax_year, CO2_BAND as band,
CASE WHEN CO2_band BETWEEN 50 AND 75 THEN '75'
WHEN CO2_band BETWEEN 10 AND 95 THEN 'fdjhgkjds'
WHEN CO2_band BETWEEN 1 AND 116 THEN '116'
ELSE 'here' END AS b
FROM company_car_tax
WHERE tax_year LIKE '2015-16%'
LIMIT 1
SELECT tax_year, CO2_BAND AS band,
CASE
WHEN CO2_band BETWEEN 1 AND 116
THEN'116'
WHEN CO2_band BETWEEN 95 AND 10
THEN 'fdjhgkjds'
WHEN CO2_band BETWEEN 50 AND 75
THEN select max(CO2_band) FROM company_car_tax where CO2_band BETWEEN 50 AND 75 group by tax_year
ELSE 'here'
END AS b
FROM company_car_tax
WHERE tax_year LIKE '2015-16%'
LIMIT 1