lostyazilim

En Çok Yorumu Yapan Kişiyi Bulma - Yardım! - Tablodaki En Çok Veriye Sahip Olanı Bulma

4 Mesajlar 782 Okunma
lstbozum
wmaraci reklam

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
Merhaba sayın webmaster arkadaşlarım:

Yaklaşık 2 saattir takıldığım bir konu var.

yorumlar adında bir tablom var mysql'da

burada diyelim

--------------------------------------
id + uye_id + konu_id + yorum -
--------------------------------------
1 + 10 + 4 + yorum
1 + 10 + 4 + yorum
1 + 10 + 4 + yorum
1 + 2 + 4 + yorum
1 + 2 + 4 + yorum
------------------------------------

böyle veriler var dersek

sorum ise mesela 4 numaralı konu_id de en çok yorum yapan üyeyi bulmak.

mesela burada 4 numaralı konuya en çok 10 id numaralı kişi yorum yapmış. bunu en çok yorum yapanın idsini yani 10 u nasıl çıktı olarak gösterebilirim?

işte bunu nasıl bulabilirim. bin bir türlü fonksiyonlar denedim ama bir türlü içinden çıkamadım.
 

 

Batuhan P. | SoftVore.com
wmaraci
reklam

MertKoseoglu MertKoseoglu Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 12.07.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek x
  • Konum Ankara
  • Ad Soyad M** K**
  • Mesajlar 659
  • Beğeniler 120 / 168
  • Ticaret 3, (%100)
Uyeler tablonda id degeri 10 olan ile burada paylastigin uye_id si 10 olan degerleri karsilastirmalisin.
Inner Join ile tablolari birlestirip ON ile de esitlemesini yaparsin. Kategori icerisine eklenen urun gibi dusun.http://www.sanalzumre.com/konu/30/php-mysql-kategori-sistemi-olusturma
Burada ki sorguyu incele bu mantik ile yaparsin.
 

 

MMurt MMurt WM Aracı Kullanıcı
  • Üyelik 24.06.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad M** M**
  • Mesajlar 25
  • Beğeniler 1 / 5
  • Ticaret 0, (%0)
1. Adımda ... "GROUP BY" ile uyeleri uye_id 'lerini gruplandırıp yorum sayılarını "count(*)" ile saydırırsın.

2. Adımda ... "ORDER BY en_cok DESC" ile yorum sayılarını büyükten küçüğe sıralarsın.

3. Adımda ise ... "LIMIT 1" ilk kaydı çekersin..

Aşağıda herbir adımın sql sorgusu ve cıktılarını yazdım. umarım anlaşılır olmuştur.



select count(*) as en_cok from en_cok_yorum GROUP BY uye_id

sonuc
----------
2
3



select count(*) as en_cok from en_cok_yorum GROUP BY uye_id ORDER BY en_cok DESC

sonuc
----------
3
2



select count(*) as en_cok from en_cok_yorum GROUP BY uye_id ORDER BY en_cok DESC LIMIT 1

sonuc
----------
3
 

 

webtegez webtegez İstersen Milyoner Olursun Kullanıcı
  • Üyelik 04.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Elektronik Teknikeri - PHP'ci
  • Konum İstanbul Anadolu
  • Ad Soyad B** P**
  • Mesajlar 329
  • Beğeniler 100 / 99
  • Ticaret 0, (%0)
hay çok yaşa @MMurt sayende çözdüm sorunu. bunun çözümünü 2 saat önce bulmuştum yabancı bir kaynaktan ama fonksiyonlu, while 'lı felan uzun bir çözümdü. böyle tek kodla bitirdim işi. çok teşekkürler.

@MertKoseoglu arkadaşımada çok teşekkürler. Senin verdiğin url ye yeni sekmede kalıp sonradan ilgilenecek ken @MMurt arkadaşımın yardımı ile hemen çözdüm.

teşekkür ederim tekrardan :)
 

 

Batuhan P. | SoftVore.com
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al