Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Listeleme çoklu ve random
#1
Merhaba;

Mysql db'den aşağıdaki kodlarla verileri listeliyorum. Seçtiğim bir üründen sadece bir tane rast gele gelmesini nasıl sağlarım?

       


   FDQ.Connection := FDConnection1;
          FDQ.Active := False;
          FDQ.Close;
          FDQ.SQL.Clear;
          FDQ.SQL.Add('Select * From Urunler');
          FDQ.SQL.Add('Where Durum Like ' + QuotedStr('%Yeni%'));
          FDQ.SQL.Add('And(Urunname Like ' + QuotedStr('%' + 'Kurşun Kalem' + '%'));
          FDQ.SQL.Add('Or Urunname Like ' + QuotedStr('%' + 'Tükenmez kalem' + '%'));
          FDQ.SQL.Add('Or Urunname Like ' + QuotedStr('%' + 'Dolma Kalem' + '%'));
          FDQ.SQL.Add(')');
          FDQ.SQL.Add('Order By Must Asc');
          FDQ.Prepared := True;
          FDQ.Open;
          while Not FDQ.Eof do
          begin
          LItem := ListView1.Items.Add;
          LItem.Data['Urunname'] := TrimLeft(FDQ.FieldByName('Urunname').AsString);
Cevapla
#2
LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#3
(20-07-2020, Saat: 23:46)mrmarman Adlı Kullanıcıdan Alıntı: LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link


Üstat linke baktım fakat aynı kod içinde listelemeyi yapamadım, ya tüm listeyi alabiliyorum yada sadece rast gele birini alabildim.

Aynı db'de olan kayıtlar
Kurşun Kalem tümü listelenecek
Tükenmez kalem tümü listelenecek
Dolma Kalem rast gele biri listelenecek
Cevapla
#4
(21-07-2020, Saat: 14:04)ekank Adlı Kullanıcıdan Alıntı:
(20-07-2020, Saat: 23:46)mrmarman Adlı Kullanıcıdan Alıntı: LIMIT ile mysql'de ilk kaç kaydı çekeceğinizi belirttiğinizi biliyorsunuzdur. 

ORDER BY RAND() diyerek rastgele sıralı tablodan bir de limit koyup ilk kaydı seçmeyi denemek isteyebilirsiniz.

bkz. bu link


Üstat linke baktım fakat aynı kod içinde listelemeyi yapamadım, ya tüm listeyi alabiliyorum yada sadece rast gele birini alabildim.

Aynı db'de olan kayıtlar
Kurşun Kalem tümü listelenecek
Tükenmez kalem tümü listelenecek
Dolma Kalem rast gele biri listelenecek

Merhabalar,

MySQL Kurulum olmadığı için online bir site üzerinden örnek yaptım.
Deneyin lütfen.


create table Test(id integer, title varchar(100));

insert into Test(id, title) values(1, "Hello1");
insert into Test(id, title) values(2, "Hello2");
insert into Test(id, title) values(3, "Hello3");
insert into Test(id, title) values(4, "Hello4");
insert into Test(id, title) values(5, "Hello5");
insert into Test(id, title) values(6, "Hello6");

SELECT id, title FROM Test 
ORDER BY rand() 
LIMIT 1

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ComboBox1 Yan Yana Listeleme OZCANK 11 349 21-11-2020, Saat: 12:00
Son Yorum: OZCANK
  Çoklu update Nese 3 160 16-11-2020, Saat: 12:27
Son Yorum: mcuyan
  Veritabanı Dosyasındaki Dataları Listeleme bnyamin86 6 826 17-08-2020, Saat: 18:35
Son Yorum: bnyamin86
  Krityere göre listeleme - çözüldü ekank 3 825 16-07-2020, Saat: 22:05
Son Yorum: ekank
  OrangeUI çoklu dil sorunu nguzeller 0 415 17-05-2020, Saat: 12:15
Son Yorum: nguzeller



Konuyu Okuyanlar: 1 Ziyaretçi