2012-12-30 22 views
-1

以下是在我试图让那些人,他们的地址是相同的,但我所面临的问题是,查询出正确的计数,但所有的名字都没有的名字我的SQL查询按以下方式分组,但不按以下方式分组。请让我知道如何修改以下查询,以便我可以通过下面提到的方式获取地址,并且还应该忽略count(address)= 1。谢谢,分组的人具有相同的地址

 
+---------------------+ 
Jhon | Stree 9, H#4 
zame | Stree 9, H#4 
sinn | Stree 9, H#4 
linn | Stree 8, H#9 
tinn | Stree 8, H#9 
+---------------------+ 
SELECT *,count(address) FROM `student` 
group by address 
order by count(address) desc 

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

回答

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 

DEMO HERE

+0

那么我的意思不是对准按字母顺序排列的名字,但其ADRESS是相同 –

+0

可以u显示如何ü期望的结果一组显示的记录? –

+0

请看我在我的问题中提到的例子,它首先显示那些地址相同且地址人数最高的记录,等等,但是这些地址也应该被丢弃,并且其“count(address)= 1” –

相关问题