1

私は本当に初心者で、クエリから結果を取得せずに結果を取得しようとしています。経験豊富なユーザーにとっては非常に簡単だと思いますが、十分に説明された答えや例を見つけることなく、検索後に質問をしていることは間違いありません。

次のようなテーブルがあります。

a  |  b
----------
2  | 76
----------
3  | 79
----------
3  | 84
----------
4  | 16
----------

「a」列の数字が繰り返される場合、「b」列の数字をphpで「エコー」したい。たとえば、この場合、結果として「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により、 column の値でaデータがグループ化されHAVING、複数のメンバーを持つグループのみに結果がフィルター処理され、グループ内GRPOUP_CONCATのすべての値がb単一の値に変換されます (既定ではコンマで区切られます)。

GROUP_CONCAT ドキュメント

于 2013-11-23T06:55:52.267 に答える