2010-12-14 19 views
0

這可以應用。查閱全文於標籤,來評析,...如何知道它在數據集中的價值多少倍?併爲所有的價值?

我懷疑它獲得例如,前20次重複在一個表中的屬性附加傷害..

我的意思是,我知道我可以問爲mysql_num_rows選擇的屬性,但我該怎麼做才能知道所有這些?

例如,

最流行的顏色:紅色 -100000 藍色-5000 白色-200 等等...

如果任何人都可以給我一個線索..謝謝!

回答

1
SELECT `name`, count(*) as `count` FROM `colors` 
GROUP BY `name` 
ORDER BY `count` DESC 
1

您想對數據庫執行此計算,而不是在您的應用程序中。通常情況下,以下形式的查詢應該是罰款:

SELECT color_id, COUNT(product_id) AS number 
FROM products 
GROUP BY color_id 
ORDER BY number DESC 
LIMIT 20 

這將是這種方式速度更快,因爲只值數的數據從數據庫到應用程序發送。另外,如果您的索引設置正確(例如color_id),大腿會更平滑。