Satır numarasindan ile MySQL Sorgu sırası?

4 Cevap php

Ben oy için bir mysql tablo var. Orada bir id bulunuyor, bir project_id ve vote alan (özel bir proje olarak ise 1 olan). şimdi ben bu girdileri bir sıralama oluşturmak istiyorum. Her project_id için oy sayısını almak ve otomatik olarak tek bir mysql sorgu ile bir proje DOĞRU oy sayısına göre kayıtları sıralamak için bir yolu var mı? Yoksa php yolunu biliyor musunuz?

örneğin

ID | Project ID | Vote
-----------------------
1  | 2          | 1
2  | 2          | 1
3  | 1          | 1

==>

Proje No. 2 2 Oy vardır

Proje No. 1 1 Oy vardır

Şimdiden teşekkürler!

4 Cevap

SELECT 
   `project_id`, SUM(`vote`) AS vote_count 
FROM 
   `table_name` 
GROUP BY `project_id`
ORDER BY vote_count DESC

SUM aliasing bir ilişkisel dizi olarak almak ise daha sonra php sütun bulmak için yardımcı olacaktır

Select project_id, Sum( vote ) project_vote
From votes
Group By project_id
Order By project_vote Desc

GROUP BY Eğer project_id başına oyların toplamı, ORDER BY DESC Önce en yüksek oy koyar almayı sağlar.

Bu deneyin:

SELECT 
    ProjectID,SUM(Vote) 
    FROM YourTable 
    GROUP BY ProjectID 
    ORDER BY Sum(Vote) DESC