SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age = 20-29 AND TravelLength = '2+ weeks';
这是我的sql语句。我正在寻找有兴趣去旅行超过2周的二十到二十九岁的孩子。在我使用的数据库中,实际数据是2周以上,我不是在寻找Weeks>每次我跑这个我都会得到0.请告诉我我做错了什么。我已经检查过使用数据库过滤器,应该有2个显示而不是零。我正在使用Microsoft Access数据库。年龄数据称为20-29。
我已经通过在20-29附近添加报价来修复此问题。
答案 0 :(得分:3)
您的表达式Age = 20-29
会生成此表达式:Age = -9
。 MS Access进行算术计算,因此您正在搜索年龄为-9岁的人。你需要做的是:
SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age >= 20 and Age <=29 AND TravelLength = '2+ weeks';
或使用BETWEEN
运算符:
SELECT COUNT (Age) AS TwentyToTwentyNineYearOlds
FROM [Copy Of SurveyData]
WHERE Age BETWEEN 20 and 29 AND TravelLength = '2+ weeks';
答案 1 :(得分:0)
所以我认为您可能应该逐步构建查询。我假设您正在使用查询设计视图,而不是实际手动编写sql语句。
首先,我会做一个基本的选择查询,而不是一个计数,只有一个标准 - 而不是多个。理智检查你的结果并从那里开始。
www.CahabaData.com