jquery - 一个变量在表中重复多少次?
问题描述
我试图弄清楚如何创建一个查询以在一个值更改之前连续提取多少次重复。我的目标是计算“是”列在达到“否”之前重复的次数。我想要“是”的最大重复次数。
例如,如果我有如下表
+------+-------+-------+
| Id | Name | Blue |
+------+-------+-------+
| 1 | Sam | yes |
| 2 | Mike | yes |
| 3 | Carol | yes |
| 4 | Bob | yes |
| 5 | John | yes |
| 6 | Adam | no |
| 7 | David | yes |
| 8 | Maria | no |
+------+-------+-------+
我想要的是一个查询,它会重复提取“blue = yes”的所有行。再次尝试计算“blue = yes”的行数。所以结果应该是这样的。
+------+-------+-------+
| Id | Name | Blue |
+------+-------+-------+
| 1 | Sam | yes |
| 2 | Mike | yes |
| 3 | Carol | yes |
| 4 | Bob | yes |
| 5 | John | yes |
+------+-------+-------+
我在想我可以做到这一点
SELECT * where blue = "yes" and id = id + 1
但这不会返回任何数据。我只是无法弄清楚正确提取查询的逻辑。我做了一些研究,并认为临时表查询可能会起作用,但只是不确定如何做到这一点。感谢您的任何帮助!
解决方案
可能不是最好的方法,但它似乎有效:
SET @count=(SELECT count(*) FROM test);
SET @get_count=(SELECT count(CASE WHEN
@count >= id AND NOT blue="yes" THEN @count:=id END)
FROM test ORDER BY id ASC);
SELECT * FROM test WHERE id < @count ORDER BY id ASC;
设置一个等于记录数的变量。id
通过升序循环遍历记录。第一次NOT blue="yes"
设置@count
为那个id
。此后 case 将始终为 false,因为剩余的 id 将始终大于@count
。然后只需运行一个选择 id 小于 的查询@count
。
推荐阅读
- python-3.x - 在 for 循环中使用 Selenium Python 重复单击相同坐标
- flutter - external_app_launcher 重定向到 playstore
- python - zsh:1:在 Jupiter IPython 教程之后在 `}' 附近解析错误
- kql - 如何使用 kusto 在数据集中查找缺失纬度、经度到下一个可用纬度、经度之间的差距
- javascript - 如何提及多个角色 [DISCORD.JS]
- python - 如何获得包含在多边形内的最大可能矩形
- log4j - 使用 log4j.properties 和 log4j2 在某些天后删除日志
- reactjs - Reactjs客户端向服务端发送图片时存储图片的解决方案
- node.js - YARN 构建 ia32 依赖项
- google-cloud-platform - 每天从 Big query 加载数据到 Postgre 云 sql 数据库