我真的是新手,而且我一直试图从查询中获得结果而没有得到它。我相信对于有经验的用户来说这很容易,但我肯定在搜索之后提出了一个问题而没有为我找到足够解释的答案或示例。
我有一张这样的表:
a | b
----------
2 | 76
----------
3 | 79
----------
3 | 84
----------
4 | 16
----------
如果'a'列中的任何数字重复,我想在php中'回显'来自'b'列的数字。例如,在这种情况下,我应该得到结果:'79,84'(因为'a'列中唯一重复的数字是'3')
我尝试过:
$query= mysql_query( "select b from table where a=3" );
$row = mysql_fetch_array($query);
$value = $row['b'];
$j = min($row);
$k = max($row);
while ($j <= $k) {
echo $j;
echo $k;
echo $value;
$j++;
}
但它不起作用。有人可以帮帮我吗?
答案 0 :(得分:2)
如果您想要表中所有数据的结果,请使用此选项:
SELECT a, GROUP_CONCAT( b ) values
FROM table
GROUP BY a
HAVING count(*) > 1
这会将table
中的数据按列a
的值进行分组,HAVING
会将结果仅过滤到包含多个成员的组,GRPOUP_CONCAT
将转换所有值组中的b
为单值(默认情况下以逗号分隔)。