sql rasgele seçme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

sql rasgele seçme

Mesaj gönderen Kaptan »

Sql komutları ile bir tablodan rasgele mesela 5 kayıt seçilebilir mi?
Böyle bir komut var mı?Yoksa manuel olarak mı yapılır?
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Mssql i kullanıyorsanız. Rand fonksiyonu random sayı oluşturuyor. Yanlız bu komut 0 ile bir arasında float sayı oluşturuyor. Kendinize ihtiyacınıza uydurmak için biraz değişiklik yapmanız gerekiz. Örneğin

Kod: Tümünü seç

select convert(int,rand()*100)  as Random_Sayi
şeklinde yaparsanız 1 ile 100 arasında rakam oluşturmaya başlar.
Ayrıntılı bilgi için
http://msdn.microsoft.com/library/defau ... z_24c3.asp
adresine bakabilirsiniz.

Firebirde olup olmadığını bilmiyorum.

Kolay gelsin.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Firebird de de ibec_random diye bir fonksiyon var ama ben kullanamadım.
Bende ücretsiz sürümü olduğu için verdikleri örnek full de çalışıyor diye bir mesaj verdi.

Kod: Tümünü seç

 execute IBEBlock
  returns (iout integer, dpout double precision)
  as
  begin
    i = 0;
    while (i < 100) do
    begin
      iout = ibec_Random(100);
      dpout = ibec_Random(0);
      i = i + 1;
      suspend;
    end
  end

Ayrıntılı bilgi için
http://www.ibexpert.info/documentation/ ... 73790.html
adresine bakabilirsiniz.

Kolay gelsin.
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

Teşekkürler.
Mysql ile seçme işlemi yapacağım.Şu an mysql kurulu olmadığı için deneyemiyorum.
sizin dediğiniz ile bir random alan oluşuyor ve oraya rasgele sayılar üretiliyor sanırım.Benim istediğim öyle değildi.100 kayıttan rasgele 25 tanesini seç gibi bir komut var mı?veya ben yanlış anlamış da olabilirim belki dediğiniz komut benim işimi görüyordur.
Yardımlarınızı bekliyorm.
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

Merhaba,

Kod: Tümünü seç

SELECT * FROM tablo
ORDER BY RAND()
LIMIT 25
şeklinde yaparsanız olur sanırım. Bende Mysql yok denemedim. Diğer veritabanları için geniş bilgi için;

http://www.petefreitag.com/item/466.cfm
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

Teşekkür ederim.İşimi gördü.
Allah razı olsun.
Cevapla