【问题标题】:MySQL Select and LIMITMySQL 选择和限制
【发布时间】:2012-04-18 12:29:53
【问题描述】:

我有一张桌子

id    ip
1     127.0.0.1
2     127.0.0.1
3     127.0.0.1
4     192.168.2.2
5     192.168.70.1
6     217.11.24.65

我需要从 3 个 ips 获取行,即如果我有限制 3,我必须获得 1,2,3,4,5

如果限制 2 - 1,2,3,4

即受唯一 IP 限制

SELECT id FROM ips LIMIT 3 // returns 1,2,3 but i want 1,2,3,4,5

抱歉英语不好,感谢理解。

【问题讨论】:

  • 限制这样不行,使用Shedal正在共享的查询

标签: mysql select limit


【解决方案1】:
SELECT id
FROM ips
WHERE ip IN (SELECT DISTINCT ip FROM ips ORDER BY id LIMIT 3)

由于 MySQL 5.5 尚不支持 ANY 内部的 LIMIT,因此有一个简单的解决方法:

SELECT id
FROM ips
WHERE ip IN (SELECT * FROM (SELECT DISTINCT ip FROM ips ORDER BY id LIMIT 3) alias)

【讨论】:

  • 我的版本为 5.5.23,但出现错误。 #1235 - 此版本的 MySQL 尚不支持“LIMIT & IN/ALL/ANY/SOME 子查询”
猜你喜欢
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-09
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多