BigQuery报错:AND操作符参数类型不匹配,求正确查询写法
问题解决方法
你的错误并非数据类型不匹配,而是WHERE子句的语法逻辑错误:AND运算符要求两侧必须都是布尔表达式,但你写的"United States"是字符串,无法和前面的布尔值location = "Bangladesh"进行逻辑运算。
要筛选孟加拉国和美国的数据,有两种正确写法:
方法1:使用OR运算符
明确指定两个条件,用OR连接(表示满足其中一个条件即可):
SELECT location, date, total_cases, total_deaths, population, (total_cases/population)*100 as death_percentage FROM `my-project-72222022.PortfolioProject.CovidDeaths` WHERE location = "Bangladesh" OR location = "United States" ORDER BY 1, 2 LIMIT 1000
方法2:使用IN运算符(更简洁)
当需要筛选多个值时,IN语法会让代码更清晰:
SELECT location, date, total_cases, total_deaths, population, (total_cases/population)*100 as death_percentage FROM `my-project-72222022.PortfolioProject.CovidDeaths` WHERE location IN ("Bangladesh", "United States") ORDER BY 1, 2 LIMIT 1000
内容的提问来源于stack exchange,提问作者Anamita Anuva
相关产品推荐
相关产品推荐

