Mysql Group将相同的值放在一起并显示所有行

时间:2014-05-07 07:32:29

标签: mysql

我有一张表有城市列

我想将所有同一个城市组合在一起(GROUP BY只显示1行,但我想要所有行)

离。

LA
New York
LA
LA
New York

output
New York
New York
LA
LA
LA

4 个答案:

答案 0 :(得分:2)

您正在寻找ORDER BY而不是GROUP BY

答案 1 :(得分:2)

您需要订购而不是分组

select * from table order by city

当您将城市名称与大写字母混合在一起时可能会出现另一个问题,在这种情况下它将无法正确排序,因此您需要按顺序格式化订单

select upper(city) from test
order by lower(city);

select city from test
order by lower(city);

答案 2 :(得分:1)

order by会帮助你

select * from tablename order by city

尝试使用字符串的长度

select * from cityname order by CHAR_LENGTH(city) desc

Working Fiddle

答案 3 :(得分:0)

尝试ORDER BY正如其他答案所示(来自Abhik的答案似乎非常完整)

除此之外如果您想知道每种类型的城市有多少,您可以这样做:

SELECT city, COUNT(city) FROM table GROUP BY city ORDER BY city

此查询将返回

  

洛杉矶| 3

     

纽约| 2

这将为您提供更好的方式来计算您的城市(如果您想做这样的事情)