0

簡単なもので、長い間mysqlクエリを使用していないので、誰かがこのnoobyの質問を手伝ってくれるかもしれません。連絡先テーブル、ID、名前、都市があります。次のようにリストされたすべての連絡先を取得したい.

市 1
--------
連絡先1
contact2
お問い合わせ3

都市 2
--------
お問い合わせ4
お問い合わせ7
連絡先10

市 3
--------
お問い合わせ5
お問い合わせ6
お問い合わせ8

私は追加のphpコーディングを使用したくありません。このようなSQL結果を取得するだけです

city 1 
   -> contact 1
   -> contact 2
   -> contact 3
city 2 
   -> contact 4
   -> contact 7
   -> contact 10

...

次に、結果を php オブジェクトに入力し、次のようにします。

foreach (cities as city)
{ 
   // code here
}

前もって感謝します

4

2 に答える 2

1

GROUP_CONCAT を使用する

SELECT  city, GROUP_CONCAT(name)
FROM    contacts
GROUP BY    city
于 2012-08-23T07:49:08.677 に答える
0

各都市の名前のコンマ区切りリストを取得するには、GROUP BY都市列にGROUP_CONCAT関数を使用するだけです。SELECT

SELECT city, GROUP_CONCAT(name) AS name
FROM contacts 
GROUP BY city;
于 2012-08-23T07:48:33.460 に答える