我有一個名爲price
的列,我想輸入一個價格並獲得下一個最昂貴的物品,或者如果輸入的價格超出了表中可用的範圍,最昂貴的物品。如何在同一列上有多個OR條件
例如我有以下的項目在我的表
id category price
1 Toys 12
2 Toys 14
3 Toys 18
4 Toys 40
5 Toys 38
6 Toys 67
所以,如果我輸入20,我想的玩具數量5(價格38)返回,因爲這是下一個大數目。如果我輸入超出表格範圍的價格,例如100那我想最昂貴的項目要返回,即玩具6號
目前,我有一個查詢類似
select *
from items
where category = ? and price > ?
order by price limit 1;
這將返回下一個最昂貴的玩具或任何其他類別的任何其他項目但如果我輸入100,那麼我將如何顯示最昂貴的物品?我可以在價格欄上有多個or
嗎?
重要:我想做到這一點,而無需使用合併或者空的條件,如果可能的
@GrodonLinoff太感謝你了,第一個不知何故似乎並沒有爲我工作..讓我嘗試第二個。 –
@ john.p.doe。 。 。請注意,通配符的數量已更改。 –
將查詢更改爲此可爲我提供所需的結果。如果我做錯了任何事,請糾正我。 (價格>?)desc,(當價格>?則價格結束時)asc,price desc limit 1; –