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'

データベースから取得した値に基づいて位置を数えようとしています。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 に答える