首页 » PHP教程 » phpmysql获取排名技巧_MYSQL数据排名与指天命据排名获取

phpmysql获取排名技巧_MYSQL数据排名与指天命据排名获取

访客 2024-11-07 0

扫一扫用手机浏览

文章目录 [+]

现有一个发帖统计表构造:

CREATE TABLE `answers`.`posting_static` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) NULL DEFAULT '', `post` int(11) NULL DEFAULT 0, `created_at` timestamp NULL, `updated_at` datetime NULL, PRIMARY KEY (`id`));

数据实示例:

phpmysql获取排名技巧_MYSQL数据排名与指天命据排名获取

我们要取得全部用户的发帖量的排行,怎么进行捏?

phpmysql获取排名技巧_MYSQL数据排名与指天命据排名获取
(图片来自网络侵删)

首先我们须要对用户的发帖量进行排序,对排序后的结果进行编号(也可以先查询后排序再编号),这个编号便是我们须要的排名,那么这个编号怎么编呢?

在Mysql中我们可以借助 @rownum 来实现,

@rownum := @rownum + 1 中 := 是赋值的浸染,意思是先实行@rownum + 1,然后把值赋给@rownum。

(SELECT @rownum := 0) r 这句话的意思是设置rownum字段的初始值为0,即编号从1开始。

所有数据实现SQL:

SELECT a., @rownum := @rownum + 1 AS rank FROM (SELECT @rownum := 0) r, `posting_static` AS a ORDER BY a.post DESC;

按条件获取获取单个用户的排名:

SELECT b. SELECT FROM(SELECT a., @rownum := @rownum + 1 AS rank FROM (SELECT @rownum := 0) r, `posting_static` AS a ORDER BY a.post DESC) as b where b.`username` = '王五';

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读0 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读0 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读0 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读0 评论0