행의 순위/번호를 찾고 싶습니다. 나는 잘 설명 할 수 있을지 잘 모르겠다.mysql 합계를 기반으로 행의 순위를 찾는 방법은 무엇입니까?
나는
$sql = 'SELECT SUM(amount) AS total FROM sales ORDER BY total DESC';
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)) {
// go through and print each row biggest 'total' first
echo $row['total'] . '<br />';
}
가 지금은 통과하고 가장 큰 '전체'수 인에 따라 각 순위를 부여 할 쿼리를 가지고 '1'.
그래서 나는 몇 가지 계산을 수행하여 PHP로 그 작업을 수행 할 수 있습니다
$sql = 'SELECT SUM(amount) AS total FROM sales ORDER BY total DESC';
$res = mysql_query($sql);
$rank = 1;
while($row = mysql_fetch_array($res)) {
// go through and print each row biggest 'total' first
echo 'rank: ' . $rank . ', ' . $row['total'] . '<br />';
$rank = $rank + 1;
}
이것은 좋은 일입니다. 하지만 내가하고 싶은, 판매 테이블에서 제휴사 ID를 말을 기반으로 SQL 쿼리를 할 수 있도록 PHP없이 행의 순위를 결정할 수있을 것입니다.
예를 들어, 각 행에 제휴사 ID가 연결된 판매 데이터 행이 100 개있는 경우 가장 큰 합계를 가진 제휴사를 기준으로 순위를 얻는 방법을 간단히 알 수 있습니까?
drats, 나는 너무 늦었다. –
좋아 보인다. 하지만 성능에 영향을 줍니까? – mauris
@Mauris : 아니오, 의미있는 방법은 아닙니다. 밀리 초 또는 2 오버 헤드가 될 수 있지만 벤치마킹 한대로 말할 수는 없습니다 (필요성을 느끼지 못함). – Eric