-1

以下は、アドレスが同じである人々の名前を取得しようとしている私のSQLクエリですが、私が直面した問題は、クエリが正しいカウントを示しているが、すべての名前がグループ化されておらず、次の方法ではないことです。次のクエリを変更して、以下の方法でアドレスを取得できるようにする方法を教えてください。また、count(address)=1は無視する必要があります。ありがとう、

+ --------------------- +
 ジョン| ストリート9、H#4
 ザメ| ストリート9、H#4
 ジン| ストリート9、H#4
 リン| ストリート8、H#9
 缶| ストリート8、H#9
+ --------------------- +
SELECT *,count(address) FROM `student` 
group by address
order by  count(address) desc

SQLFIDDLE: http ://sqlfiddle.com/#!2/6d6ca/2

4

1 に答える 1

3

これを試して:

 SELECT name, count(address) FROM student 
 GROUP BY address 
 ORDER BY count(address), name DESC

編集:あなたはこのgroup_concatを意味しますか?

   SELECT GROUP_CONCAT(DISTINCT name ORDER BY name DESC SEPARATOR ' ')as name, 
    adress FROM student 
   GROUP BY adress 
  ORDER BY count(adress), name DESC

デモはこちら

于 2012-12-30T21:22:30.177 に答える