2013-10-08 27 views
0

我试图在pgSQL中编写一个select查询,其中显示价格大于100,000且小于或等于200,000的项目。我意识到有一个BETWEEN函数,但这不完全是我想要的。BASIC SQL如何选择大于100000且小于200000

我有什么至今:

SELECT id FROM Item WHERE (Price = >100000 AND Price = <=200000); 

道歉既然如此基本只是试图了解从地上爬起来SQL ..

在此先感谢。

+0

刚一说明,请记住,'> ='和'<='会使其包含100,000到200,000 *包括*(即,您的结果还将包括价格为100,000和200,000的记录) – valverij

+0

价格的数据类型是什么? – Bohemian

+1

要学习非常基础的基础知识,请在某处获取手册或教程。这里的主题不在话下。 –

回答

6

您的<=>=有问题。 =总是最后一次,只发生一次。

SELECT id FROM Item WHERE Price >=100000 AND Price <=200000; 
0
SELECT id FROM Item WHERE Price > 100000 AND Price < 200000 
1

不知道

SELECT id FROM Item WHERE (Price = >100000 AND Price = <=200000); 
           ^    ^

应该是什么您的具体问题是,您的查询看起来不错,但你必须平等和更大之间的一个额外的平等和空间

SELECT id FROM Item WHERE (Price >= 100000 AND Price <= 200000); 

另外从其他答案中可以看出,在这种情况下不需要包袱,但不应该受到伤害。

+2

我不确定postgresql,但'=>'可能应该是'> =' – valverij

+0

由于某些DBMS接受,猜测已经退出习惯@valverij。但是你是对的,它更安全。编辑。谢谢! – asantaballa

2

你有两个选择:

SELECT id 
FROM Item 
WHERE Price > 100000 
AND Price <= 200000 

或者使用(含)之间有一个调整的下界:

SELECT id 
FROM Item 
WHERE Price BETWEEN 100001 AND 200000 
相关问题