içindeki en küçük oranda BY Product
s modelim var ve her ürünün 1 veya daha fazla Sku
s var. Her bir sku, bir shipping_price
ve bir selling_price
'a sahiptir.SQL/Postgres SELECT, ORDER GROUP
Ürünleri, skuslarının en yüksek veya en düşük shipping_price/selling_price
oranına göre sıralamak istiyorum, ancak sorgunun doğru yapılmasında sorun yaşıyorum.
SELECT
p.id,
p.title,
array_agg(s.shipping_price) as shipping_prices,
array_agg(s.baseline_price) as baseline_prices,
min(s.shipping_price/s.baseline_price) as shipping
FROM "Products" p
JOIN "Skus" s
ON p.id = s.product_id
WHERE p.category_id in (1,2,3)
GROUP BY p.id
ORDER BY shipping ASC
LIMIT 48
OFFSET 0;
Ama açıkça sıfır olmadığı yerlerde bu shipping
için sıfır bir sürü verir: Örneğin, "asgari nakliye oranı" için şu anda var. Bazı dizi işlemler ve min kombinasyonuna ihtiyacım var gibi görünüyor, ancak HERE yöntemlerini nasıl birleştireceğinden emin değilim.
Bunu yapmak için basit bir yol var mı?