问题标签 [mysql-variables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6232 浏览

mysql - 我的 sql 在 ALTER TABLE ADD COLUMN 语句中使用了一个变量

您好我正在寻找以日期作为列名的表。

我正在使用此代码将列添加到表中:

但它将错误 dateStart 显示为重复内容,因为它创建了一个列“dateStart”而不是日期。如何使用 dateStart 作为变量。

当我使用“INSERT INTO tablename (_date) VALUES (dateStart);” 而不是 ALTER TABLE 语句,它不显示任何错误,它正在将日期插入数据库,但作为 '_date' 列中的行。我希望将日期添加为列名。

如何使用 dateStart 作为变量

0 投票
3 回答
30 浏览

sql - SQL 变量在简单表中的使用

@minGehalt 是一个数字

我的问题是它说它没有声明

0 投票
1 回答
776 浏览

mysql - 为什么 MySQL 5.7 order by 影响临时排名列?

我需要生成按关闭百分比排名的员工列表。我构建了以下存储过程:

它返回

此查询适用于其预期目的,但在查看查询后,它看起来不应该正确返回。这就是我这么认为的原因:

MySQL 在处理 ORDER BY 之前处理 SELECT。因此,我假设 MySQL 将按照它决定从数据库中出来的任何顺序分配排名,然后对结果集进行排序。我希望它看起来像这样:

为什么不是这样?

0 投票
0 回答
38 浏览

mysql - MySQL 结果中的增量小计

我需要根据购买价格和日期(先进先出/后进先出)计算 - 比方说 - 商品价格。所以,假设我已经购买了这些商品:

  • 2017 年 11 月 10 日以 100 美元的价格购买 3 个 ABC
  • 2 x ABC 于 2017 年 11 月 12 日以 80 美元的价格购买
  • 2017 年 11 月 11 日,5 x XYZ 售价 120 美元
  • 2017-11-12 7 x XYZ 售价 110 美元

首次购买的物品决定了最终产品的价格,因此 ABC 将花费 100 美元以上的前 3 件商品加价,另外 2 件商品的费用为 80 美元以上。

我现在需要的是一种缓存表,应该是这样的:

请注意,第三列包含的不是购买数量,而是该价格所指的一种数量“上限”。这样我就可以通过简单的 JOIN 来快速估算 4 件 ABC 的售价max_qty >= basket_qty。这很重要,因为对该表的读取比写入要多得多。

我正在努力以一种关于性能和资源成本的方式生成这样的表。我不能以“每个 sku 查询”的方式进行,因为一次可能有很多记录需要更新。我试过使用 MySQL 变量;

这个结果集可以很容易地插入到缓存表中,但@r 不会为结果中的每个新 sku 重置。

0 投票
0 回答
827 浏览

mysql - 在 MySQL 函数中声明 varchar 变量时出错

我正在尝试在类似于以下的存储函数中创建一个 MySQL 变量:

但我收到此错误,抱怨 DECLARE 行:

[Err] 1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 8 行的 '' 附近使用正确的语法

如何在 MySQL 函数中声明变量?根据有关语法的MySQL 文档DECLARE,我遵循所有的放置规则。

0 投票
1 回答
46 浏览

php - 将变量传递到mysql

无法运行查询,在@searchin变量上抛出错误。可能很简单,但看不到。

0 投票
1 回答
358 浏览

php - 如何将简单的 SQL 查询存储到用户定义的变量中并在 MySQL 中执行?

我是 MySQL 新手,我正在尝试将sql语句存储到变量中:

它正确执行,并给我结果:

在此处输入图像描述

但是如何才能看到存储在那个变量中的sql语句的结果呢?如果我执行它,它会给出一个错误。

错误:

致命错误:未捕获的错误:在 /opt/lampp/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php:567 中的 null 上调用成员函数 getClauses() 堆栈跟踪:#0

请任何人帮助我执行存储在变量中的 sql 语句(想要执行/检查存储在该变量中的结果。我知道我们可以直接运行并在 SQL 提示符下检查结果)?

0 投票
1 回答
161 浏览

mysql - 如何使用 MySQL 变量赋值来遍历行?

我有一个包含日期、分数和 id 的表格,在这种情况下它不是唯一的。

这是一个示例数据集和相同的 SQLFiddle:

http://sqlfiddle.com/#!9/cd3a81/4

我正在尝试遍历每个 id 的表并得出分数的 3 天移动平均值。

我有以下代码似乎可以实现这一点,但我不完全理解它是如何工作的。它按 id 和 date 排序,并在 id 更改时重置。

我想了解的是这些变量分配是如何工作的。

也许有更好的方法来做到这一点。谢谢。

运行查询的内部部分会显示 case 语句的更多详细信息:

主要目标是在每行中获得每个日期和 id 的连续 3 天总得分。我根据结果看到了这个方法在做什么。我试图更清楚地理解这种情况下的变量分配是如何实现这一点的,或者这可能是一种更好的方法。

0 投票
1 回答
422 浏览

javascript - Node.JS + MySQL - 组合查询以定义变量和选择数据

我有一个在 PHPMyAdmin 中完美运行的查询:

但是,当我将它放入 Node.JS 时,我不能使用简单con.query("SET @row_number=0; SELECT * FROM blah blah @row_number blah blah;")的,因为从技术上讲那里有 2 个查询。所以我试着做:

但是,这会将其视为第一个查询甚至不存在。如何将这些查询组合成一个查询?或者,还有其他解决方法吗?

0 投票
1 回答
39 浏览

mysql - 需要帮助使用局部变量减去具有多个组的前一行值

我有3个表如下:

我试图找出哪个演员在电影之间的时间最长。

在参与者相同的情况下(或者默认为 0),我正在尝试使用局部变量来引用前一行的值。但是由于某种原因,@previousName 变量会返回一个随机的名称列表。

这是代码:

这是我得到 的:结果表的图片

注意我使用的是 mySQL V5.7,所以窗口函数不是一个选项。