2010-10-20 11 views
5

Yapı sorgusunda yardıma ihtiyacım var. Ben 160,65 vb olacaktır 2.5'e kadar 175,35 olacak kadar 1 miktar fiyat için öylesineMySQL sorgu yardımı

 
Quantity Price 
---------------- 
1 -- € 175,35 
2.5 -- € 160,65 
5 -- € 149,10 
10 -- € 143,85 

aşağıda gösterildiği gibi miktar listeleme ve fiyat karşılık gelen quantity_price tablo var. 10'dan fazla miktar için, fiyat 143,85 olarak kalacaktır.

Şimdi benim miktarım 1.5 ise, sorgu 160,65 değerini döndürmelidir, bu da hangi aralık miktarının bulunduğunu bulması ve daha sonra aralıktaki maksimum miktarın fiyatını alması anlamına gelir.

+0

bunu yapmak istiyor musunuz MySQL veya PHP nedir? – Petah

+0

Ben mysql –

+1

sorgusu istiyorum Neden bu soruyu PHP – Petah

cevap

1

1.5'den büyük tüm satırları bulmak için where deyimini kullanın; daha sonra en düşük miktardaki satırı almak için limit ve order by kullanın. Petah'ın da belirttiği gibi, her zaman satırı en büyük miktarla dahil etmek kullanışlı olur. Örneğin:

select * 
from quantity_price 
where Quantity > 1.5 
     or Quantity = (select max(Quantity) from quantity_price) 
order by 
     Quantity 
limit 1 
+0

Miktar 10 – Petah

+0

@Petah'dan daha fazlaysa başarısız olur: İyi nokta, sorgu düzenlenir! – Andomar

1
select price 
from quantity_price 
where myquantity >= quantity 
order by quantity 
limit 1 
+1

Bu, 'ASC' miktarına göre sipariş verilemez mi? – Andomar

+0

evet, sorgu düzenlendi. –

+1

bu <= '(ya da' quant> = myquantity') olarak adlandırılamaz ... ve 'myquantity' için 10'dan fazla çalışmıyor mu? – richaux