问题标签 [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.
php - MYSQL 平均前 n 行
如果之前有人问过这个问题,我深表歉意。我尝试进行搜索,但可能没有使用与其他人相同的措辞,因此我的搜索一无所获。
我有一个刚刚超过 6000 行的表,我正在尝试对特定列的前 n 行进行平均。在这种情况下,外汇货币对的收盘价。(我知道我可以使用 PHP::Trader,但我无权在我的服务器上安装它。)
我试过了 :
这为每一行生成了相同的数字,我不知道为什么。列中的每个值id
都是连续的。我清理了数据以确保这一点。
我在SELECT
陈述中做错了什么?
mysql - Mysql 限制每个用户每个日期 2 行
好的,可以说我有一张基本的桌子
事物
还有一些数据
我想要实现的是每个 USER 每个 DATE 的 created_at 最多选择两行。我只显示一位用户的数据,但我希望你明白这一点。
所以选择的结果应该是
我知道我必须以某种方式使用LIMIT关键字,但我不太确定如何使用。我也很确定我必须使用子查询并按日期分组。
我希望你能理解这个问题,如果有什么难以理解的地方,请提出一些问题。
mysql - 基于等于另一个表中的 ID 的行索引的 MYSQL 更新
我有两张桌子。我想根据 table2 中的相同行索引更新 table1 中的一行。ID 不匹配,但表 2 中的 ID 与行索引匹配。表 2 中总会有更多数据,但我不在乎是否遗漏了额外的行。
我将如何在 mysql UPDATE 语句中实现这一点?
mysql - 来自 N 个结果的子查询结果的 SUM 作为每个用户的最大值
让我们假设这个模式:
我的目标是为每个不同的user_Id选择最后 5 个结果作为最大值,从最新到最旧排序。除此之外,根据结果列,我想计算这些最后结果的比率,以便能够选择具有最佳比率的 3 个用户。
所以让我们以这个数据为例:
我能够实现的是这个查询:
此查询为我提供了这种输出:
我所期望的是,在 avg 列中将获得每个用户匹配条件(A 或 B 值)的总结果,以便能够从每个 user_id 的 5 个结果中计算比率。(0, 0.2, 0.4, 0.6, 0.8, 1)。像这样的东西:
执行 SUM 时,我是否受到GROUP BY p.user_Id, p.test_Id子句的限制?我尝试了仅使用 user_Id 作为 GROUP BY 子句并且仅使用 test_Id 作为 GROUP BY 子句的查询,但没有得到预期的结果。
mysql - mysql查询做排名功能
我想编写一个 MySQL 查询来对分数进行排名。如果两个分数之间存在平局,则两者的排名应相同。同样在平局之后,下一个排名数字应该是下一个连续的整数值。换句话说,等级之间不应该有“漏洞”。
给定上述分数表,查询应生成以下报告(按最高分排序)
我尝试了类似下面的设置@pk1 =''; 设置@rn1 =1;设置@val = 1;
但上述没有用任何人都可以帮助解决这个问题
mysql - mysql - 选择每个用户最近的活动到列中
编辑-我发现它与数据透视表不同。因为就我而言,它基于日期
我有链接数据的表。我想将每个客户的最新活动返回到列中,例如用于数据挖掘目的的时间数据。
所以我的表中有这些列:
首先- 我想过滤数据以获得“最近 5 ”活动。然后我想出了这段代码
这些代码给了我这张表:
但是- 我想要这样的数据挖掘目的
你明白我的想法了吗?对不起,如果我不能解释清楚,希望你能明白我想要什么。
问题
- 如何针对这些问题进行 SQL 查询?(目前我从 MySQL 数据库中获取 RAW 数据)
- 有没有更好的方法来解决这个问题?我希望这是一个最佳实践。
php - 确定一段时间内的操作 PHP MySQL
我没有任何代码或数据库要显示,因为我正处于计划阶段,我无法找出正确的方法来执行此操作。
我想确定用户是否在一周内每天都执行了特定操作。如果他们有我想执行一个动作。每次休息几天,我都需要重新设置。
例如:
echo '您已在 7 天内连续成功完成 71 项任务';
我想真正的问题是,实现这一目标的最佳方法是什么?如果最新的 cookie 值超过 24 小时,我是否应该尝试根据日期存储 7 个 cookie,并销毁所有现有的 cookie?我应该尝试通过数据库设置和更新日期吗?
作为实现这一目标的潜在解决方案的建议是我正在寻找的,请记住这是我正在开发的一个非常数据库密集型应用程序,因此数据库调用 IMO 越少越好。
更新
所以我正在尝试使用数据库来计划这一点,而我只是遇到了各个角度的问题。
如果我尝试设置增量列,则无法判断上次更新时间。
如果我设置一个表,它会非常复杂,因为我必须根据连续日期来确定值。所以我不能做一个简单的7天搜索,我必须测试每个结果是否在数据库中上一个结果集的24小时内,否则我如何区分第1天、第3天完成任务的人,和 7 与做这件事的人 1、2、3、4、5、6 和 7。
清理数据库同样麻烦。我将如何进行清理。我不能简单地测试数据是否在当前日期的 7 天内,因为这并不能说明有人在第 5 天而不是第 6 天完成任务……然后在第 7 天……同样复杂,因为每个用户都有不同的开始日期。所以我可能今天开始了任务,而另一个用户 5 天前开始了。我可以放心地假设超过 7 天的所有日期都已过期,但这并不能真正帮助确定休息日。
我很困惑如何真正完成这项任务。
mysql - 在 mysql 选择查询中使用变量而不是字段名
我已经搜索了很多,但我不知道该怎么做,如果可能的话......
我有这张桌子:
以数字命名的文件对应于月份,我需要选择如下:
与我需要(month(curdate()) -2)
选择的字段对应的位置。
这可能吗?
mysql - 在MYSQL中比较IF语句中的变量
我有 3 个表:wp_names、wp_payments、wp_renewals。我在所有这些上都使用了 student_id 中的 JOIN 。
这是我得到的结果。请注意,最新付款都是错误的,到期续订也是错误的。
如何使用我创建的变量?我想在 IF 语句中使用它们,例如:
如果(@renewals >=12,@latesrenewal,@latestregdate)。
并且:
DATE_ADD(@latestpayment,间隔 12 个月)
最后,我不知道如何让 count(DISTINCT p.payment_id) 给出“2”的正确结果。取而代之的是,它将学生 ID“2”加倍,并将两个条目都计为 1。
总结起来,这两个问题是:
- 为什么变量没有按我的预期工作?
- 为什么计数不计算两个注册?
我很感激这方面的任何帮助。
mysql - MySql 声明和选择变量的使用
我正在努力以正确的方式编写查询。虽然它确实有效,但我得到了错误:
找到了一条新语句,但它与前一条语句之间没有分隔符(接近选择)
显然我仍然可以处理这个错误,但 #1。我不是特别喜欢“hacky”的应对方法和#2。它在尝试运行查询的过程中进一步导致 php 出现问题。
从谷歌研究它表明错误可能是一个错误,但我怀疑这一点。
我实际上正在尝试做的事情:
我有 3 张桌子:
该计划是:
- 选择流程详情
- 加入验证详情
- 加入风险详情
- 根据 Validation_Date 和 Risk_TimePeriod 生成“Due_Date” (即如果时间段为 150,则将 150 天添加到 Validation_Date)。
如下所示:
所以在这里; Due_Date 是通过将 150 (Risk_Level) 添加到 Validation Date 来创建的。
当前查询
我的第一个“选择”子句以红色突出显示。这是错误消息出现的地方。如果有人能指出我哪里出错了,那将不胜感激!谢谢