как узнать, сколько раз его значение в базах данных?и для всех значений? - PullRequest
0 голосов
/ 14 декабря 2010

Это может быть применено к тегам, комментариям, ...

Мой вопрос, например, получить 20 лучших повторений для атрибута в таблице.

Я имею в виду,я знаю, что могу запросить выбранный атрибут с помощью mysql_num_rows, но как мне узнать их все?

Например,

Самые популярные цвета: красный -100000 синий -5000белый -200 и так далее ...

если кто-нибудь может дать мне подсказку .. спасибо!

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Вы хотите сделать это вычисление в базе данных, а не в вашем приложении. Как правило, запрос следующей формы должен быть в порядке:

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

Это будет быстрее, так как из базы данных в приложение будут отправляться только данные подсчета значений. Также, если у вас правильно настроены индексы (например, на color_id), бедра будут более гладкими.

1 голос
/ 14 декабря 2010
SELECT `name`, count(*) as `count` FROM `colors`
GROUP BY `name`
ORDER BY `count` DESC
...