SQL

SQL dili ile MySQL’dan Oracle veritabanına kadar, rastgele bir satırı nasıl seçeceğimizi öğreneceğiz :)

3 yorum Beğen Paylaş SQL ile veritabanından rastgele satır seçmek

SQL ile veritabanından rastgele satır çekmek

5 farklı veritabanından rastgele satır çekmek için SQL örnekleri aşağıdaki gibi arkadaşlar.

MySQL ile rastgele satır seçmek

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL ile rastgele satır seçmek

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Server ile rastgele satır seçmek

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2 ile rastgele satır seçmek

SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Oracle ile rastgele satır seçmek

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Makale kaynağı: SQL to Select a random row from a database table

18 Haziran 2008, 20.22 tarihinde yayınlanmış
Bu yazı 3 adet yorum almıştır ve bunların 3 ile 0 arası görüntülenmektedir. Yorumları RSS ile takip edebilirsiniz.
| 13 Haziran 2010 , 19:02
#3

ben tablodaki en son satırı seçmek istiyorum bunu nasıl yapabilirim?

| 19 Haziran 2008 , 01:50
#2

SELECT COLUMN FROM TABLE
ORDER BY RAND()
LIMIT 1

Sorgusundaki gibi rand() kullanmak mysql’a zülüm etmekten başka bişey değil bence anlık 20 30 online’de Mysql sunucusunu çok fazla kasıyor özellikle share hostlarda hemen fark ediliyorsunuz.

$say=mysql_query("SELECT COUNT( COLOM_ADİ ) as toplam FROM tablo");
$al=mysql_result($say,0,’toplam’); // Kaç adet veri olduğunu sayıyoruz
$kac=rand(0,$al); // Rasgele bir sayı alıyoruz veri sayısını aşmayacak şekilde
SELECT COLOM_ADİ FROM tablo limit $kac,1

Yukarıda yazdıklarım bir kaç sorgu daha fazla gibi görünsede mysql sunucusunu daha az kasar ve daha hızlıdır bizzat test edilmiştir.

| 18 Haziran 2008 , 23:31
#1

Sanırım er ya da geç bu ihtiyaç doğuyor ve aramalar sonucu aynı sonuca ulaşılıyor. :) ben de şurada yazmıştım.

Tabii bu rastgele satır seçme işlemi her ne kadar güzel bir numara olsa da indeks olmayan bir kolona göre sıralama yaptırdığınızdan içinde çok fazla kayıt bulunduran tablolarda işlem çok uzun sürebiliyor ve fazla işlemci gücü tüketebiliyor. Yazımda PHP için bu konu ile ilgili alternatif bir yöntemden bahsetmiştim. Bir bakmanı tavsiye ederim.

promosyon Oyunlar prefabrik Düşük fiyat listesi |Teknolojik Ürünler| promosyon promosyon
seo Ertan Dönmez Godaddy Promo Codes Reklam Ver! Reklam Ver! Reklam Ver! Reklam Ver!
© 2005 - 2010 Tüm hakları dmRy.net'e aittir.
Kullanım şartları yerine getirilmeden hiçbir şekilde kopyala-yapıştır yapılamaz, yazılar ve bilgiler kullanılamaz.
Dmry.net Vital Teknoloji tarafından desteklenmektedir
yukarı dön