【发布时间】:2011-08-13 07:34:29
【问题描述】:
所以我正在尝试为我的网站创建一个排名系统,但是由于很多记录具有相同的点数,它们都具有相同的排名,有没有办法避免这种情况?
目前有
$conn = $db->query("SELECT COUNT( * ) +1 AS 'position' FROM tv WHERE points > ( SELECT points FROM tv WHERE id ={$data['id']} )");
$d = $db->fetch_array($conn);
echo $d['position'];
和数据库结构
`id` int(11) NOT NULL,
`name` varchar(150) NOT NULL,
`points` int(11) NOT NULL,
编辑如下,
我现在正在做的是让我们说记录
SELECT * FROM tv WHERE type = 1
现在我运行了一个 while 循环,我需要为自己创建一个可以获得排名的函数,但它会确保排名不重复 我将如何制作一个对两条记录没有相同排名的排名系统?假设点数相同,它会按 ID 对它们进行排序并获得它们的位置吗?或类似的东西?谢谢!
【问题讨论】:
-
不太清楚你在问什么,你的目标是什么。你是在问一些排名算法,还是你有算法但是在sql中实现有困难???