2011-11-11 27 views
8

Ben bu yapının (http://cl.ly/3D1D3m1O0v3d0x2j0Z0E)MySQL SİPARİŞ BY COUNT()?

Bir süre döngü aracılığıyla bir sorgu yapmayı var benim veritabanında bir tablo kurulum var ve prof sütunun dediğimde sipariş etmek istiyorum.

Sorgumun halihazırda neye benzediğimi görüyorum, ancak hata almaya devam ediyorum.

$order_list = mysql_query(" 
    SELECT COUNT(prof), 
    FROM prof_rating 
    ORDER BY COUNT(prof) ASC"); 

Bu benim aldığım uyarıdır.

Uyarı: mysql_fetch_assoc() parametresi 1 kaynak olmasını beklediğini, daha sonra Alias ​​

cevap

12

ederek sırayla, Seçim listesindeki bir toplama işlevinin kullanılması, sonuç kümesinin yalnızca bir satıra sahip olacağı anlamına gelir. Tek bir satırda ayarlanan sonuçları sıralamak pek mantıklı değil. Eğer prof ayrı değer başına değerlendirmesi sayımını almak amaçladıysanız

, bu kullanmalısınız:

$order_list = mysql_query(" 
    SELECT prof, COUNT(*) AS PROFCOUNT, 
    FROM prof_rating 
    GROUP BY prof 
    ORDER BY PROFCOUNT ASC'"); 

O çıktısı birden fazla satır, her biri için satır sayısı ile prof değeri başına bir satır, verilen değer

+0

Öneriniz için teşekkürler. Sorunun ne olduğunun özünde gerçekleşti, mysql_query'mde fazladan bir tane vardı ve uyarı mesajına neden oluyordu. İlk bakışta gözardı ettiğime inanamıyorum. – Jako

6

sütun adını verdiği ve boole koymak maddede :) buna değer ne için

$order_list = mysql_query(" 
SELECT COUNT(prof) AS PROFCOUNT, 
FROM prof_rating 
ORDER BY PROFCOUNT ASC'");