SELECT * FROM oyuncaklar WHERE yas1 <= 1 AND yas2 >= 3 ORDER BY ((yas1+yas2) - (1+3)) ASC
0 - 6 bir oyuncak için, WHERE koşulu sağlanır. (0+6) - (1+3) = 2,
1 - 3 bir oyuncak için, WHERE koşulu sağlanır. (1+3) - (1+3) = 0,
2 - 3 bir oyuncak için, WHERE koşulu sağlanmaz.
2 - 2 bir oyuncak için, WHERE koşulu sağlanır. (2+2) - (1+3) = 0
Sıralama 2-2 ve 1-3 için sütun sıralaması olur, daha sonra arkalarından 0-6 yaş arası oyuncak gelir.
İleri düzey php sorusu değil de, basit bir mysql sorgu sorunu bu.
Merhaba hocam,
öncelikle çok teşekkürler çok uğraşmışsın ama tam anlatamadım galiba.
örneğin yas1=1 ve yas2=3 olan bir sorgu yapılcak.
aynen senin sorgu alttaki gibi kopyaladım.
SELECT * FROM oyuncaklar WHERE yas1 <= 1 AND yas2 >= 3 ORDER BY ((yas1+yas2) - (1+3)) ASC
ürünlerden yas1=0 ve yas2=3 olan için order by : 0+3 - 1+3
ürünlerden yas1=1 ve yas2=3 olan için order by : 1+3 - 1+3
üstteki - olduğu için seninkinden daha küçük bir değere ulaşıyor. Bunu en yakın sayı rakamlarıyla örnek verdim. Yoksa yas1=0, yas2=18 olacak bir ürün olabilirdi.