检查行是否在while循环中分组

时间:2012-12-03 20:00:04

标签: php mysql group-by

简单的问题我猜,如何检查行是否在while循环中分组。我希望能够确定它是否已分组,以便我可以更改已分组的文本,但保留未分组的行。我希望这是有道理的,因为我不确定如何解释它。

这是我的代码

if($r['type'] == "Wall"){
$offern = $r['aff'];
}else{
$offern = $offn['name'];
}
//  IF GROUPED $r['user_id'] <- It is grouped by `user_id` -> $offern = "Several";

print "<tr>
<td></td>
                <td><a href='lockedf.php?id=".$r['user_id']."'>{$namess['username']}</a></td>
                <td>".$offern."</td>
                <td>{$r['point']} Points</td>
                <td>".date("m/d/Y h:i:s A", $r['date_submitted'])."</td>
                <td><a href='unlock.php?id={$r['id']}' class='ask'><img src='images/unlock.png' alt='' title='' border='0' /></a></td>
                <td><a href='deny.php?id={$r['id']}' class='ask'><img src='images/trash.png' alt='' title='' border='0' /></a></td>
                </tr>";

1 个答案:

答案 0 :(得分:1)

所以,如果你有这样的数据:

`USER_ID`  |  `FavoriteCandy`

1        |   'Snickers'
1        |   'Butterfinger'
2        |   'Hershey'
3        |   'Twix'

这样的查询:

SELECT USER_ID
FROM tbl
GROUP BY USER_ID;

你的目标是弄清楚哪个用户(在这种情况下是用户1)可能会丢失糖果,因为它被分组......你可以这样做:

SELECT `USER_ID`, COUNT(`FavoriteCandy`)
FROM tbl
GROUP BY USER_ID;

或者,将其限制为仅像这样分组的用户:

SELECT `USER_ID`
FROM tbl
GROUP BY USER_ID
HAVING COUNT(`FavoriteCandy`) > 1;