mysql查询用户停留在同一个城市和同一个国家/地区

时间:2014-12-23 10:06:27

标签: mysql sql

我有一个表用户thas有以下字段

id, name, city id, country id 

如何选择位于同一城市和同一国家/地区的用户?

示例

id   name cityid countryid
1    ram   1       2
2    sam   5       2
3    bil   1       2
4    roy   4       6
5    bin   5       2
7    abu   7       5

什么是MySQL查询,因此我只能获取具有相同城市ID 1和国家/地区ID 2的用户ID 1和3 如果5和国家/地区ID为2,则用户ID为2和5为同一城市。

2 个答案:

答案 0 :(得分:1)

SELECT cityid, countryid, GROUP_CONCAT(name) names
FROM users
GROUP BY cityid, countryid
HAVING COUNT(*) > 1

答案 1 :(得分:0)

你可以把桌子加到自己身上,询问哪个城市和一个城市。国家是一样的。请务必在where子句中指定用户ID必须不同,因为每个用户都居住在同一个城市&国家本身。

SELECT u1.id, u2.id, u1.name, u2.name, u1.cityid, u2.cityid /*or whatever fields you want*/
FROM users u1
JOIN users u2
WHERE u1.id < u2.id
and u1.cityid = u2.cityid
and u1.countryid= u2.countryid