Aynı tablodaki bir satırın iki sütunundaki en düşük sayıyı bulmaya çalışıyorum; sütunlardan birinin belirli bir satırda boş olabileceğini belirten bir uyarı. Sütunlardan biri boşsa, diğer sütundaki değerin bu satır için döndürmesini istiyorum, çünkü bu durumda en düşük sıfır olmayan sütun olur. Ben MySQL 5.1 en az() fonksiyonunu kullanıyorsanız:SQL'de belirli bir satırda en az sıfır olmayan sütun nasıl bulunur?
select least(1,null)
Bu ne istiyorum olmadığı, null döndürür. Bu durumda 1 dönmek için sorguya ihtiyacım var.
Ben bu sorgu ile genel olarak istediğiniz sonucu elde etmek mümkün oldum: col1 sürece
select least(coalesce(col1, col2)) , coalesce(col2,col1))
ve col2 hem boş değil her deyim bir sayı döndürür yapışkanlaşmakta ve en az (En düşük bulmak için kolları.
Bunu yapmanın daha basit/daha hızlı bir yolu var mı? Bu durumda MySQL kullanıyorum ama genel çözümler memnuniyetle karşılıyor. Bu biraz daha iyi performans gösterebilir
hızlı? Yavaş olmaya karar verdin mi? –
Mutlaka yavaş olması gerektiğine karar vermedim, ancak bir tanesi yerine 3 fonksiyon çağırıyor. Bir sorguyu bir sıraya göre kullanıyorum, olabildiğince hızlı olmalıyım. –