带有AND/OR运算符的错误PostgreSQL请求
我的postresql请求是否有问题?:带有AND/OR运算符的错误PostgreSQL请求,sql,postgresql,Sql,Postgresql,我的postresql请求是否有问题?: SELECT DISTINCT COUNT(email) FROM data WHERE email != '' AND gender='mme' OR gender='mlle' AND yearofbirth BETWEEN 1973 AND 2003 我们能按我们的需要设置“AND”和“AND”或“operator”吗? 由于“和2003年至1973年之间的出生年份”声明不起作用,请求结果是以下结果: SELECT DISTINCT COUN
SELECT DISTINCT COUNT(email) FROM data
WHERE email != '' AND gender='mme' OR gender='mlle'
AND yearofbirth BETWEEN 1973 AND 2003
我们能按我们的需要设置“AND”和“AND”或“operator”吗?
由于“和2003年至1973年之间的出生年份”声明不起作用,请求结果是以下结果:
SELECT DISTINCT COUNT(email) FROM data
WHERE email != '' AND gender='mme' OR gender='mlle'
同一问题:
SELECT DISTINCT COUNT(email) FROM data
WHERE email != '' AND gender='mme' OR gender='mlle'
AND yearofbirth < 2003 AND yearofbirth > 1973
从数据中选择不同计数(电子邮件)
哪里有电子邮件!=''和gender='mme'或gender='mlle'
出生年份<2003年,出生年份>1973年
谢谢你的帮助
在这种情况下,显然不需要选择不同的
。您的查询是一个聚合查询,没有分组依据
,因此它只返回一行。我怀疑您真的想要选择COUNT(DISTINCT)
,一个完全不同的野兽
SELECT DISTINCT COUNT(email)
FROM data WHERE email != '' AND ( gender='mme' OR gender='mlle') AND
yearofbirth BETWEEN 1973 AND 2003
我也不确定您在WHERE
子句中的意图。我怀疑:
SELECT COUNT(DISTINCT email)
FROM data
WHERE email <> '' AND
(gender IN 'mme', 'mlle') AND
yearofbirth BETWEEN 1973 AND 2003;
选择计数(不同的电子邮件)
从数据
其中电子邮件“”和
(mme和mlle中的性别)和
1973年至2003年之间的出生年份;
虽然没有括号,但您有:
SELECT COUNT(DISTINCT email)
FROM data
WHERE (email <> '' AND gender = 'mme') OR
(gender = 'mlle' AND yearofbirth BETWEEN 1973 AND 2003);
选择计数(不同的电子邮件)
从数据
其中(电子邮件“”,性别='mme')或
(性别=‘mlle’和1973年至2003年之间的出生年份);
使用括号。想象或是“+”和是“.”,写(a+b)。c不等于写a+b.c!