mysql - MySQL 限制选择语句
问题描述
这是一个示例表:
+--------+------------+
| itemID | itemvalue |
+--------+------------+
| 1 | a |
| 2 | b |
| 3 | a |
| 4 | a |
| 5 | b |
| 6 | a |
| 7 | b |
| 8 | a |
| 9 | a |
| 10 | b |
+--------+------------+
我想知道表格的前 5 行中有多少个“a”。所以在文字中应该做到以下几点:
仅选择表 X WHERE itemvalue = a的前 5 行
这应该返回第 1、3 和 4 行
是否可以仅使用 Mysql 查询而不进行进一步计算来做到这一点?
解决方案
您可以尝试使用内部联接查询来执行此操作
select t1.* from my_table t1
join
(select itemId from my_table order by itemId limit 5) t2
on t1.itemID=t2.itemID
where t1.itemvalue='a'
推荐阅读
- arrays - 查找数组中的下一个最小值?
- jquery - 如何通过在ajax中加载来一一显示数据
- python - 来自熊猫数据框的烛台图,按日期替换索引
- python - 计算单词但不计算数字
- git - 是否可以制作特定于远程的.gitignores?
- amazon-web-services - CannotStartContainerError:API 错误(400):OCI 运行时创建失败:container_linux.go:348:导致启动容器进程
- java - 在托管 bean MenuBean 上执行资源注入时发生错误
- swift - Swift-Firebase身份验证登录功能在呈现的segue中,如何使用shouldPerformSegue来阻止segue的执行?
- swift - 在 Swift 中为给定范围内的 RN 实现 PRNG xoshiro256+?
- c# - EF Core,投影子集合急切加载