Сортировка по таблице MySQL и порядок по количеству - PullRequest
0 голосов
/ 25 марта 2012

В настоящее время я пытаюсь создать список из 5 названий моих блогов, где они ранжируются от 1 до 5, 1 из которых является самым популярным, а 5 - наименее популярным. И то, как я оцениваю их, - через взгляды. Теперь у меня уже есть рабочие представления, и это в таблице с именем blog_views, а блог называется blog.

Итак, я пытаюсь сделать так, чтобы PHP сортировал, сколько просмотров записано в blog_views по идентификатору блога, который в них записан, затем перечислите заголовок блога, по которому когда-либо было много просмотров, с наименьшим количеством просмотров. , Как я смогу это сделать? Я надеюсь, что мой вопрос был ясен!

Я пытался экспериментировать, но безуспешно, потому что не мог найти правильный подход к этому.

Заранее спасибо за помощь!

Вот схема двух таблиц:

Blog{ blog_id, title, body, userinformation}

blog_views{ viewid, ip, time, blog_id, used}

1 Ответ

1 голос
/ 25 марта 2012

Если я понимаю, что вы пытаетесь сделать правильно, это JOIN должно сделать это;

SELECT blog.blog_id, COUNT(blog_views.blog_id) as views 
FROM blog
LEFT JOIN blog_views 
  ON blog.blog_id=blog_views.blog_id
GROUP BY blog.blog_id
ORDER BY COUNT(blog_views.blog_id) DESC;

Короче говоря, выберите все комбинации блогов и блогов, сгруппируйте их по blog_id, чтобы можно было посчитать количество просмотров по идентификатору блога, и, наконец, упорядочить по количеству просмотров по убыванию.

Демо здесь .

...