php - 对mysql表进行排序并按金额排序

标签 php mysql count sql-order-by

我目前正在尝试创建一个包含我的 5 个博客标题的列表,其中它们从 1 到 5 排名,1 是最受欢迎的,而 5 是最不受欢迎的。我是通过观看次数来对它们进行排名的。现在我已经可以使用 View 了,这些 View 位于名为 blog_views 的表中,而博客则称为 blog。

所以我想做的是让 PHP 通过记录在 blog_views 中的博客 id 对记录在 blog_views 中的浏览量进行排序,然后列出浏览量最多的博客标题,直至浏览量最少。我怎样才能做到这一点?我希望我的问题很清楚!

我尝试过尝试,但失败了,因为我找不到正确的方法。

感谢您提前提供的帮助!

这是两个表的架构:

Blog{ blog_id, title, body, userinformation}

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

最佳答案

如果我正确地理解了您想要执行的操作,则此 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 将它们分组,以便能够计算每个博客 ID 的浏览量,最后按浏览量降序排列。

演示 here .

关于php - 对mysql表进行排序并按金额排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855273/

相关文章:

mysql - 使用 SQL 查找每个司机一个月内的平均预订评分

ruby-on-rails - Rails 4 where,order,group,count include zero's - postgresql

mysql - 如何结合多个 COUNT() 和 GROUP BY 实现 MySQL Query

php - 如何设置外键 ID #sf2 #doctrine2

php - 屏蔽Amazon S3 mp3文件url和html5移动音频问题

php - 将 $_POST 与文本区域一起使用时出现问题

mysql - MySQL 中 open_files_limit 较低的影响

php - prestashop 1.7 上的 Prestashop1.6 主题

php - 为什么即使升级服务器后,我的网站仍会时不时地显示错误 502?

php - 使用 PHP MYSQL 在 HTML 表中计数值问题