Salam Təsəvvür edin ki, mənim bazamda ‘qruplar’ adında tablo içində isə ‘id’, ‘qrupadi’ kolonları var, və tutaq ki, içindəki qiymətlər da belədir.
id qrupadi
1 Admin
2 Moderator
3 Redaktor
4 Reklamci
Və digər bir tablo var adi ‘istifadeciler’ dir, içində isə belə kolonlar var ‘userid’,’login’, ‘qrupid’, qiymətləri də belədir:
userid login qrupid
1 xsxsxs 4
2 dsdsds 4
3 rfsfsfsf 1
4 wewe 3
5 lulululu 1
6 rfsfsfsf 1
7 gfsada 2
——–
Sualım isə belədir, sql sorğunu necə etməliyəm ki, ‘qruplar’ tablosundan qrupları çağırım, lakin sıralama ‘istifadeciler’ dəki ən çox qrup üzvü hansıdırsa ondan azalana doğru getsin, yəni nəticədə birinci Admin, ikinci Reklamci və s. olsun.Ümüd edirəm ki, sualı aydın yazmışam.
Qeyd:Heç bir proqramlaşdırma dili istifadə etmədən sadəcə sorğu ilə həll etmək lazımdır.
Verilmiş cavablar və yazılan şərhlər (3 cavab var)
0
Salam
Bir view yaradın qruplar.id=istifadeciler.qrupid belə bərabər edin.sonra select*from viewAdı order by id bu şəkildə 1(admin) 2(moderator) 3(reklamcı) ardıcılıqla düzüləcək.
2
SELECT q.qrupadi, COUNT(*) AS say
FROM qruplar AS q, istifadeciler AS i
WHERE q.userid=i.qrupid
GROUP BY q.qrupadi
ORDER BY say DESC
bu işliyir sql serverdə
2
Sual verin
Cavab verin