问题标签 [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 投票
1 回答
818 浏览

mysql - MySQL 查询获取每个组的最后 N 行

假设我有一个包含以下列的数据库:

我可能有多次相同的 VehicleId 但时间戳不同。因此 VehicleId,Timestamp 是主键。

现在,我希望获得每个 VehicleId 的最后 N 个测量值或每个 VehicleId 的前 N ​​个测量值。

我如何能够根据每个 VehicleId 的排序列(例如,在我们的例子中为时间戳)列出最后 N 个元组?

例子:

0 投票
1 回答
1531 浏览

mysql - 根据概率机会选择随机值

如何根据分配给每行的概率从数据库中选择随机行。
例子:

如何根据必须选择的概率选择随机品牌名称及其值。

rand()将和工作的组合ORDER BY?如果是这样,最好的方法是什么?

0 投票
1 回答
373 浏览

mysql - 从多 SELECT 子查询返回多行

询问

每个 SELECT 将返回不确定的行数。我得到错误Subquery returns more than 1 row。我想要的输出将是这样的(快速草图):

每列可能产生与其他列不同的行数。所以我想从最大值中产生行数,然后将其他没有填充最大行数的行清空。

注意:这些表都没有共享列,因此无法实现INNER JOIN

关于如何实现这一点的任何想法?

0 投票
1 回答
75 浏览

mysql - SQL:查询按多列分组的不同值的最大数量

对于由三列(A、B、C)组成的表,我想做以下事情。对于 A 列的每个不同值,我想找到 B 的值,其中我有 C 的最不同值。所以,我需要先按 A 分组,然后按 B 分组,然后计算 C 的不同值这些组并找到最大值。但是,我无法弄清楚 group by、max、count distinct 等的正确组合来实现这一点。

0 投票
3 回答
578 浏览

mysql - mysql 类别前 10 名

我有一张表格,我必须根据该类别中一个人的花费在每个类别中获得前 10 名。我的样本数据是

我必须在一个查询中得到这个。我知道 limit 不适用于像limit amount 10这样的金额。请帮忙

0 投票
2 回答
143 浏览

mysql - 用于建议的 SQL 查询性能改进

发布我正在使用的问题陈述和当前代码,并想知道是否有任何提高查询性能的聪明想法?使用 MySQL。谢谢。

编写一个 SQL 查询来对分数进行排名。如果两个分数之间存在平局,则两者的排名应相同。请注意,平局后,下一个排名数字应该是下一个连续整数值。换句话说,等级之间不应该有“漏洞”。

例如,给定上面的 Scores 表,您的查询应该生成以下报告(按最高分排序):

顺便说一句,从戈登的代码发布问题。

在此处输入图像描述

顺便说一句,尝试了 sgeddes 的代码,但遇到了新问题,

在此处输入图像描述

戈登代码的新问题,

在此处输入图像描述

提前谢谢, 林

0 投票
3 回答
1287 浏览

mysql - mysql中的用户按他们的分数排名

我正在尝试按我之前计算的分数对我的学生进行排名,但问题是如果学生的分数相同,他们应该在同一排名中

学生 1 满分 学生 2 满分

他们都必须排名为 1;

在此处输入图像描述 这是我的数据库的示例

我想要做的查询是(仅用于选择然后我可以将值插入我的列)

编辑更清楚:

  • 学生 1 分 80
  • 学生 2 分 77.5
  • 学生 3 分 77.5
  • 学生 4 分 77

他们的队伍应该像

  • 学生 1 排名 1
  • 学生 2 等级 2
  • 学生 3 等级 2
  • 学生 4 等级 3

我当前的查询返回一个值,如

在此处输入图像描述

因为它缺少第三级。(因为第二名有 2 个值)

0 投票
1 回答
143 浏览

mysql - MySQL复杂子查询公式

我有两张桌子 -booksimages. booksid, name, releasedate,purchasecount等列 imagesbookid(和book里的一样id,基本上一本书可以有多张图片,虽然我没有设置任何外键约束),,,bucketidposter每条记录指向某个bucket中的一个图片文件,对于某一个bookid)。

表架构:

  1. poster在 中是唯一的images,因此它是主键。
  2. 书籍封面索引:( name, id, releasedate)
  3. 图像覆盖指数:( bookid, poster, bucketid)

purchasecount我的查询是,给定一个名称,从 books 表中找到名称与该名称匹配的前十本书(按数量排序),然后对于该书,从表中返回任何(最好是第一条)记录(bucketidposterimages

显然,这可以通过运行第一个查询并使用其结果查询图像表来解决这两个查询,但这会很慢,所以我想一次性使用“加入”和子查询来完成。但是,我正在尝试并没有给我正确的结果:

任何人都可以在这里建议一个最佳查询来获取所需的结果集(包括任何更改表模式以缩短搜索时间的建议)吗?

更新小提琴:http ://sqlfiddle.com/#!9/17c5a8/1 。

示例查询应返回两个结果 -fooefool,以及每个结果的一个(与每本书对应的多个海报中的任何一个)海报。但是我没有得到正确的结果。预期的:

fooe - 1973 - 459 - 11 - swt(或fooe - 1973 - 459 - 11 - pqr

fool - 1963 - 456 - 12 - xxx(或fool - 1963 - 456 - 111 - qwe

0 投票
1 回答
1547 浏览

mysql - Mysql:使用选择和局部变量更新

我正在寻找一个更新语句,它将在下表中按语言对术语进行分组

除 Group_ID 之外的所有数据都插入到表中。我需要更新表,以便为具有相同 TTC_ART_ID、TTC_TYP_ID 和序列组合的所有记录自动生成新的 Group_ID 和 Group_ID 将获得相同的 Group_ID。我想我需要一个变量来存储 Group_ID 的当前值,到目前为止我尝试过

这只是为每条新记录提供一个新的 group_id 。我相信我需要一个 SELECT 语句来检查是否已经给出了 group_id,但我对如何去做感到困惑。

谢谢

0 投票
1 回答
669 浏览

mysql - 结合两列mysql的条件

我想为我的查询组合来自 2 个不同列的条件。这是我的原始查询。您可以在 sqlfiddle.com 中对其进行测试。

从上面的查询中,我想再添加一列。

这是我对查询所做的更改,但它不起作用。

请帮助我如何获得所需的输出。我想从两列中最后进出。先感谢您。