如何在2次WHERE中选择mysql

时间:2011-04-07 15:14:35

标签: mysql sql

我有一张表格,包括PRN,SKP,MUC等。

我想选择带有destionation PRN和SKP的15行,但我不知道怎么做,因为当我写下来

SELECT * FROM destinations WHERE date >= NOW() AND destination = 'PRN' OR 'SKP'

它不会工作它只显示SKP或PRN的地方,我用OR试过这个,并且等等......但是我不能用一种方法工作并选择15个最后目的地,其中destionation = PRN和SKP。 / p>

6 个答案:

答案 0 :(得分:3)

你可以用作:

SELECT * FROM destinations WHERE date >= NOW() AND (destination = 'PRN' OR destination = 'SKP')

或使用IN运算符

SELECT * FROM destinations WHERE date >= NOW() AND destination IN ('PRN','SKP')

只有15行,您可以在查询后添加“LIMIT 15"

答案 1 :(得分:1)

SELECT * FROM destinations WHERE date >= NOW() 
AND (destination = 'PRN' OR destination='SKP')
ORDER BY date desc LIMIT 15

答案 2 :(得分:0)

SELECT * FROM destinations WHERE date >= NOW() AND destination IN ('PRN', 'SPK')

SELECT * FROM destinations WHERE date >= NOW() AND (destination = 'PRN' OR destination =  'SPK')

应该做的伎俩

答案 3 :(得分:0)

使用in通常是最易读的形式(特别是如果你有多个目的地):

SELECT * FROM destinations WHERE date >= NOW() AND destination IN ( 'PRN' , 'SKP' )

使用或时,请务必在第二个术语周围放置括号,以便首先清除哪个操作符:

SELECT * FROM destinations WHERE date >= NOW() AND (destination = 'PRN' OR destination = 'SPK')

答案 4 :(得分:0)

正确的语法是:

SELECT * FROM destinations WHERE date >= NOW() AND (destination = 'PRN' OR destination = 'SKP')

或者:

SELECT * FROM destinations WHERE date >= NOW() AND destination IN ('PRN', 'SKP')

答案 5 :(得分:0)

SELECT * FROM destinations WHERE date >= NOW() AND destination IN ('PRN' , 'SKP')