【发布时间】:2013-12-22 14:28:18
【问题描述】:
我有sql表:
id user city
1 Alisa New York
2 Alisa Sydney
3 Alisa Rom
4 Alisa Toronto
5 Bob Rom
6 Bob Moskow
7 Bob Sydney
8 Tom Sydney
例如,我需要知道有多少相同的城市有 Bob 的其他用户。
SELECT user, count(DISTINCT city) FROM table WHERE city IN (
SELECT city FROM table WHERE user = 'Bob'
) AND user != 'Bob' GROUP BY user
结果是:
user count(DISTINCT city)
Alisa 2
Tom 1
您知道提出此请求的其他最佳方式吗? 大桌子可以吗?
【问题讨论】:
-
我有 8205091 行,这个 sql 请求耗时:1 分 59.27 秒
标签: mysql sql group-by where-in