select blogId, count from comments group by blogId order by count descHoca bu konuyu zoque'de de sordum cevap alamadım. En çok yukardaki kod gibi bişey çıktı ama yine olmadı. Yapmak istediğim wp gibi bi blog ama olmuyor işte... bu junyor wp: http://www.maviye.com/Bu arada rasgele konuları almak için de zamnında baya uğraşmıştım. Sonunda onunda çzümünü buldum. Buraya yazayım lazım olan bulur.("SELECT TOP 5 FROM konularintablosu order by Rnd(-(1000 id) Time ")

<%Dim rsComSet rsCom = ObjConn. Execute("SELECT TOP 5 FROM comments where blogID<>999999 ORDER BY date DESC")If rsCom. EOF Thenresponse. Write Elsewhile not rsCom. EOF%><img src="../icons/comments. gif" width="10" height="11"><a href="comments. asp?id=<%=rsCom %>"> <%=rsCom %></a><br><%rsCom. MovenextWendrsCom. CloseSet rsCom = NothingEnd If%>comments tablosunu basitçe ele alırsak, id | name | comment | blogIDEn son yapılan yorumları aldığım kod üstte.comments tablosundan en çok yorum alan 5 veriyi almak istiyorum bunun için comments tablosundaki blogId'ler toplanmalı. Sonra yukardaki koda benzer şekilde küçükten büyüğe doğru 5 kayıt sıralancak şekilde sorgu oluşturulmalı. Ama bunu yapamıyorum. Sorun bu. Teşekkürler...

Hocam başta bi yanlış anlaşılma oldu, o yüzden benim yukarıda anlattıklarım üyeler ile ilgili falan ama sen onu blog tablona gre uyarla, hiç bişe değişmeyecek, sadece blog tablo yapına gre uyarlayacaksın... Uyeler'in mesaj sayısını nasıl +1 yapıyorsan blogun da comment sayısını her comment girişte +1 yapacaksın.. her comment'in bir blogid'si var nasılsa, o blogid'i alıp bloglar tablosunda id'ye eşitleyip blogu bulacaksın +1 yapacaksın.. Bundan nce de yukarda üyeler için yaptığım comment sayısı belirleme olayını blog tablona gre uyarlayıp bir kere yapman gerek.. Ama yine de şunu bi dene; "SELECT name, count from comments group by blogid order by count desc"

Hocam o iş için zamanında pek bi kasmıştım.. Forumumda en çok mesajı olanları çoktan aza doğru listelemeye çalışmıştım ki senin istediğin de onunla aynı.. Sonuç olarak yapamamıştım, group by ile falan çok denedim, ir2 ile tartıştım yine de bi çzüm bulamadık.. Ama eğer bu illa ki lazım diyorsan; Uyeler'in kayıtlı olduğu tablo "uyeler" olsun, oraya bi comsayi dgibi bi field aç, integer olsun tipi' rs diye bi recordset açtığını farzedereksql = "Select isim from uyeler"do while not rs. eofset sayi = baglanti. execute("Select COUNT from comments where name=' " & rs & " ' ")rs = sayi(0)rs. updateRs. movenextloopBu kodlarla tüm üyelerin comment sayısına bakılır comsayi fieldına o sayı işlenir.. Bunu bir kez yaparak, o anki üyelerin comment sayısını buldun.. Bu kodlar bundan sonra sana lazım değil ancak;Bundan sonra da comment kaydetme sayfasına bir kaç satır kod yazarak comment'ı ekleyen kişinin comsayi field değerini 1 artırırsın.. Bu şekilde comment yazan kişilerin yazdığı comment sayısı sürekli güncel olur.. Bu yazdıklarım bir alternatifti, "bunlara gerek yok, ben sql ile hallederim" diyorsan baya araştırman lazım, çünkü ben baya araştırmış ve uğraşmış olmama rağmen halledememiştim ve eğer halledersen burada yaz ki hepimiz faydalanalım..

Hocam dediğim şekilde yaparsan da bişe farketmeyecek ki sen yine en çok comment'ı olan üyeleri gsterebileceksin.. "Select TOP 5 isim, comsayi from uyeler order by comsayi desc"En çok yorumu olan 5 kişi: <%do while not rs. eof%><%=rs %><%rs. movenextloop%>

"SELECT blogId, count from comments group by blogid order by count desc"Yukardakini demek istedin heralde ama olmadı hoca 27 tane boşluk aldım sonuç olarak :)