首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mysql查询,在不太复杂的查询上出现“正在发送数据”错误

mysql查询,在不太复杂的查询上出现“正在发送数据”错误
EN

Stack Overflow用户
提问于 2017-03-14 15:57:39
回答 1查看 54关注 0票数 0

我的数据就像

代码语言:javascript
运行
复制
| order_id  |  user_id  |     ip      |
---------------------------------------
| 1001      |   2       | 192.168.1.1 |    
| 1002      |   5       | 192.168.1.1 |    
| 1003      |   2       | 192.168.1.1 |    
| 1004      |   12      |   18.15.0.1 |    
| 1005      |   9       |    10.0.0.1 |  

SELECT "ip", user_id
FROM userlog
WHERE "ip" IN (
    SELECT "ip"
    FROM userlog
    GROUP BY "ip"
    HAVING COUNT(*) > 1
)
GROUP BY "ip"
ORDER BY "id" DESC

当我在我的桌面上运行这个查询时,我在1秒内就得到了结果,但是当我在生产服务器上运行同样的查询时,查询挂起了几个小时,消息发送数据,填充临时表……为什么这个查询给我带来了这么多麻烦,以及如何扩展它,以便我可以运行它,从而避免这个发送数据的问题?

EN

回答 1

Stack Overflow用户

发布于 2017-03-14 16:37:15

尝试使用自连接,如下所示:

代码语言:javascript
运行
复制
SELECT u1."ip", u1.user_id
FROM userlog u1
JOIN userlog u2
    ON u1.ip = u2.ip and u1.order_id <> u2.order_id
ORDER BY u1."id" DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42780549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档