mysql - SELECT @xi:=@xi+1 AS xc 是什么意思?
问题描述
我被要求重构一个包含片段的查询:
SELECT @xi:=@xi+1 AS xc
FROM
(SELECT 1
UNION SELECT 2
UNION SELECT 3) xc1,
(SELECT 1
UNION SELECT 2
UNION SELECT 3)xc2,
(SELECT 1
UNION SELECT 2
UNION SELECT 3) xc3,
(SELECT @xi:=-1) xc0
我相信查询的其余部分是用 MySQL 编写的。
我对这种编写查询的方式完全陌生,并且在任何 Postgresql、MySQL 或 BigQuery 标准 SQL 文档中都没有遇到过。
不幸的是,查询的其他元素不起作用,所以我无法产生输出或描述我想要实现的目标(因为我不知道这是做什么的)但是在我处理其他部分时我想有人可能能够提供对该特定逻辑的语法的一些见解,或者提供一个主题,我可以找到有关此代码段的更多信息,以便我可以发展我的知识。
解决方案
这是一个用户定义的变量,将显示:
0 (-1+1)
1 (0+1)
2 (1+1)
3 (2+1)
...
26 (25+1)
推荐阅读
- r - 在 R 中处理命名参数
- reactjs - React Native:为什么在另一个 flatList 的每个项目中渲染一个 flatList 都不能按预期水平工作?
- vb.net - System.Data.SqlClient 的 DbProviderFactory CreateConnection 失败
- jquery - Output valid xml with jquery.html()
- reactjs - 如何在 React 路由器中处理来自外部身份验证应用程序的发布响应
- javascript - RxJs and switchMap
- python - 查找 BST 中的所有节点是否大于一个项目
- c# - 根据语言 ID 获取文化信息
- javascript - 如何在本地编译 Javascript 控制台应用程序?
- uwp - UWP 在导航视图中使用 Acrylic