sql >> データベース >  >> RDS >> Mysql

重複する行の連結を発行します

    *を使用することはできません。これは、バージョン<5.7

    のmysqlで誤った集計を生成するためです。

    select

    で明示的な列の名前を使用してみてください
    SELECT computer.ID, group_concat(HardDisk.Id) my_disk
    from Computer
    inner join HardDisk on Computer.Id = HardDisk.ComputerId
    group by Computer.Id 
    

    同じ集計レベルに関連しない列がさらに必要な場合は、参加する必要があります

    mysqlバージョン<5.7では、select句で言及されている一部の列が集計関数によってグループ内で適切に言及されていない場合、selectの最初の出現を返し、正しい集計結果ではありません

    追加してみてください

     echo  $row['my_disk];
    



    1. 特定の金額になるまで合計を選択し、条件に基づいて特定のフィールドを更新します

    2. MySqlは複数のテーブルでSQLトランザクションをロールバックできますか?

    3. 数値をvarcharとして格納する

    4. 日付データ行を使用したMysqlORDERBY