• 01-11-2010, 22:18:35
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba başlıktanda anlaşıldığı gibi bir tablodan belirli bir satırı düşük değere sahip veriyi çekmek istiyorum. Aşağıda ki sorgu sanırım bunu yapıyor, yanılıp yanılmadığımdan emin değilim acaba bu sorgu;
    abc tablosunda ki hit satırından en küçük değere sahip 4 öğeyi rasgele çek. anlamına mı geliyor.

    SELECT * FROM abc WHERE hit = 'min()' ORDER BY rand() LIMIT 4
    Ve burda rand() işlevsiz mi? Yani olmasa da olur mu? Örneği burda hit = 0 olan 50 veri varsa ve rand olmazsa bunların arasından neye göre 4 tanesini seçer?
    Şimdiden teşekkürler
  • 02-11-2010, 02:04:25
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım yanlış olarak kullanmışsın, min verilen şarta göre tek değer dönderir. Veya belirli bir alana göre gruplayarak her gruptaki min değeri dönderir. Yani bir tablodaki o alandaki en küçük değeri veya, bir tabloda misalen her kategori için en küçük değeri gibi.

    En küçük 4 değeri alacaksan

    SELECT * FROM abc ORDER BY hit asc LIMIT 4
    şeklinde yapmalısın. Zaten mantıken düşünürsen hem en küçük hite sahip 4 değer deyip, hem rastgele demek saçma olur.
  • 02-11-2010, 17:38:40
    #3
    metadige adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım yanlış olarak kullanmışsın, min verilen şarta göre tek değer dönderir. Veya belirli bir alana göre gruplayarak her gruptaki min değeri dönderir. Yani bir tablodaki o alandaki en küçük değeri veya, bir tabloda misalen her kategori için en küçük değeri gibi.

    En küçük 4 değeri alacaksan

    SELECT * FROM abc ORDER BY hit asc LIMIT 4
    şeklinde yapmalısın. Zaten mantıken düşünürsen hem en küçük hite sahip 4 değer deyip, hem rastgele demek saçma olur.
    Çok teşekkürler verdiğiniz sorguda ki gibi asc gayet güzel. Random konusuna gelince benim hit değeri 0 olan 10.000 öğem var şimdi bunların arasından seçimi nasıl yapıcak diye düşündüğüm için rand kullandım. direk hit 0 da diyebilirdim ama zamanla hit değerleri değişeceği için hit 0 öğe kalmadığında da kod sorun çıkarmasın istedim.