提问人:Carlos Crespo Moreno 提问时间:9/2/2021 最后编辑:Carlos Crespo Moreno 更新时间:9/9/2021 访问量:52
MySQL 嵌套选择查询使用主查询中的数据
MySQL Nested Select Querys using data from main query
问:
我编辑了这个问题,使问题更简单,并在 coments 中添加了建议的更改,非常感谢
我有一个与数据匹配的表,我需要:
1- 获取日期之前匹配项的所有列。
http://sqlfiddle.com/#!9/4ff02f/18
SELECT m1.* FROM matches AS m1 WHERE m1.date < '2019-02-23 00:00:00'
2- 我需要在每场比赛(或行)中为主队和客队添加两列“连胜”。一支球队的“连胜”是在同一场比赛中当前比赛日期之前的比赛次数,直到球队输掉一场比赛(主场或客场)。结果将是这样的:
我只需要在MySql中的一个查询中获取所有信息...我对 JOINS、SUBQUERIES 越来越疯狂,....他们不能按照我的意思去做。非常感谢一些帮助 谢谢!
答:
0赞
TheSatinKnight
9/8/2021
#1
听起来您只想为条纹填充特定字段,并且想要累积数据。您可能需要使用不显示(不可见或仅在末尾)的字段来表示“赢/输”和累积数据来提供计数。
我现在没有时间写一个完整的解决方案,但这对于“评论”来说太长了,所以请耐心等待:
在主场和客场中添加“Win”列。相应地放置 1 或 0。
添加连胜列,并有条件地包括 Win 的累积计数,如果 Win 为 1。但是,如果胜利为零,则将累积值设置回零。
CASE示例:https://www.w3schools.com/mysql/func_mysql_case.asp
累积示例:https://popsql.com/learn-sql/mysql/how-to-calculate-cumulative-sum-running-total-in-mysql
一旦你写好了它,你可能会把它们组合成一个函数/字段。但。。。婴儿步骤。像我们其他人一样。:)
评论
1赞
Carlos Crespo Moreno
9/9/2021
谢谢你的评论!我想到了类似的东西,但我放弃了它,因为如果有任何匹配更新,我应该检查并更新其他列的条纹。无论如何,如果我没有找到“即时”的方法,我会重新考虑
评论