1

我想以$count递减方式增加给定值。如果给定值具有相同的数字,则 $count 将停止递增并在下一个值不同时开始递增。可能我这里解释不清楚。查看我的代码,您将看到并理解我想要实现的目标。

<?php
$count=1;

if(current $row['perc']==next $row['perc'])//
{
echo "";//stop incrementing and output the same count. Because current perc and next perc have the same value, I don't know how to make echo here.
}
else
{
echo $count++; //start incrementing
}
?>

我想实现类似的东西

id position

`101    1`

`102    2`

`103    2'

我正在尝试根据从数据库中提取的值来计算位置。如果两个值相同perc,它们将具有相同的位置。

4

1 回答 1

2

如果我理解正确,您可以使用这样的查询在 MySql 中执行此操作

SELECT id, position
  FROM
(
  SELECT id, IF(@p = perc, @n , @n := @n + 1) position, @p := perc
    FROM Table1 t, (SELECT @n := 0, @p := 0) n
   ORDER BY perc DESC
) q

这是SQLFiddle演示

于 2013-07-21T05:50:41.377 回答