1

我真的是新手,我一直试图从查询中得到结果而没有得到它。我相信对于有经验的用户来说这很容易,但我肯定会在搜索后提出一个问题,但没有找到对我来说足够解释的答案或示例。

我有一张这样的桌子:

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++;
}

但它不起作用。有人可以帮我吗?

4

1 回答 1

2

如果您想要表中所有数据的结果,请使用此选择:

SELECT a, GROUP_CONCAT( b ) values
FROM table
GROUP BY a
HAVING count(*) > 1

这将按table列的值对数据进行分组aHAVING将结果仅过滤到具有多个成员的组,并将组中GRPOUP_CONCAT的所有值转换b为单个值(默认情况下以逗号分隔)。

GROUP_CONCAT 文档

于 2013-11-23T06:55:52.267 回答