小编典典

在MySQL中仅选择唯一的行/记录

sql

我想看看如何只获得具有唯一城市的唯一行/记录,而不关心是否是首都,例如:

Akron
akron
aKRON

只会返回一条记录。

我累了像这样的东西,但是没用

"SELECT DISTINCT(city) AS city,state_prefix,lattitude,longitude  FROM zip_code WHERE city LIKE '$queryString%' LIMIT 10"

谢谢…


阅读 205

收藏
2021-03-23

共1个答案

小编典典

您可以使用以下仅用于mysql的技巧:

SELECT city, state_prefix, lattitude,longitude
FROM zip_code WHERE city LIKE '$queryString%'
GROUP BY city, state_prefix -- Here's the trick
LIMIT 10

这将返回 遇到的第一行 的每个独特的价值citystate_prefix

其他数据库将抱怨您的分组依据中未列出未聚合的列或此类消息。

已编辑

以前我声称不使用upper()分组列上的函数将返回所有大小写的变化,但这是不正确的-
感谢SalmanA指出了这一点。我已使用SQLFiddle进行了验证,而您无需使用upper()

2021-03-23