问题标签 [top-n]

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 投票
4 回答
1559 浏览

sql - 'min' 和 'max' 不适用于其他信息

我正在尝试计算物品表上的价格min和价格:max

我不仅想获得最低和最高价格,还想知道商品是什么:所以查询结果需要是最便宜的商品、商品名称商品信息,然后想要更改它的最高版本的语法。最贵的商品、商品名称和商品信息等 select min(price) from item

这工作正常。返回与最大值相同的最小值。但是,当我尝试获取项目信息时,它会返回表的所有行,而不仅仅是最便宜或最贵的单行。例如:

我不确定,我做错了什么?谁能帮我?

0 投票
1 回答
88 浏览

mysql - PHP MySQL 从 MySQL 返回不同的结果

当我在 MySQL 中运行查询时,我得到了预期的结果。该查询使用 MySQL 定义的变量按前 n 个分组。但是,在 PHP 中运行时,似乎“IF(@businessType=businessType...) 没有被正确评估并导致它选择所有结果。查询是:

MySQL的结果是:

在 PHP 中,它返回 50 个结果,并且 RowNum 字段没有按预期递增。如何更正此查询以使其正确尊重“@”符号?注意:我在 PHP 中使用单引号,所以它不应该评估 '@' 符号。这是输出的一个片段:

0 投票
1 回答
5408 浏览

sql - 获取两个表的两列相乘的总和

我有这样的产品表

订单表

项目表

客户表

这些是我刚刚添加的示例数据,只是为了显示示例数据。在这里,我想选择总订单量最高的前 5 位客户。

我想选择状态为公司且订单量最高的客户。

换句话说,我想选择总订单量较高的客户的 client_id 。

在这里,我试图像这样实现它。

但是在这里我得到了最高的订单,所以同一客户的订单也进来了。

我想选择总订单金额最高的前 5 位客户。

应选择所有企业客户。然后应该计算每个客户的所有订单的总金额,我想选择具有最高 10 个值的客户。 我正在使用oracle 11g。

0 投票
2 回答
177 浏览

sql - 获取随机的前 n 行,其中 n 大于表中的行数

我正在编写一个生成随机数据的脚本。我有两个表,一个存储名字,第二个存储姓氏。我想获得例如 1000 对随机的名字和姓氏。我可以使用以下代码实现它:

...但是如果我的一张表包含少于 1000 行怎么办?我想知道如何从表中获取多于 n 行,其中 n 小于表/视图中的行数,并且您不介意重复的结果。我能想到的唯一方法是使用临时表和while循环,并用随机行填充它,直到有足够的行。但我想知道是否可以通过一次选择来做到这一点?我目前在我的 PC 上使用 sql server 2012,但如果我也可以在 sql server 2008 下运行它,我将不胜感激。

0 投票
2 回答
33778 浏览

sql - 仅前 10 行的总和

我有一个查询,我只选择前 10 行,但我有一个 SUM 函数,它仍然取所有行的总和(忽略前 10 行)。如何仅获得前 10 行的总数?这是我的 SUM 函数:

0 投票
1 回答
104 浏览

sql - 具有前 X 行总和的子查询

我试图从一张桌子上得到每个人的前 5 个结果。我能够为他们获得最佳结果,但是我想要前 5 名的总和。

列:

0 投票
1 回答
279 浏览

sql - 前 80% 记录的平均持续时间

例如,我有以下调用列表:

  • 呼叫#1 - 持续时间 30 分钟
  • 通话#2 - 时长 43 分钟
  • 呼叫#3 - 持续时间 26 分钟
  • 呼叫#4 - 持续时间 35 分钟
  • 通话#5 - 时长 39 分钟

1) 我需要 SQL 查询检索前 80% 呼叫平均持续时间

属于前 80% 的呼叫(根据呼叫持续时间)是呼叫#3、#1、#4、#5。对于这些调用,应计算平均持续时间 ((26+30+35+39)/4=32,5)。超过 80% 的调用(这里调用 #2)应该被忽略。

2) 我还需要反之亦然的查询 -首次通话的平均通话时间为 30 分钟的百分比是多少?

3) Hot 获取第80% 条记录的时长(按通话时长排序)。例如,如果有 500 条记录,那么第 400 条记录的持续时间是多少?

这个 SQL 查询应该是什么样子(Oracle)?

0 投票
2 回答
218 浏览

sql - 获得给定工作的最少员工

我有这张桌子:

我想获得具有给定工作的最少员工的部门(例如所有具有“分析师”工作的员工)。

你能帮我查询一下吗?

0 投票
2 回答
164 浏览

sql - 计数查询配方/成分

基本上我一直在研究一个 SQL 问题,该问题要求显示每种成分及其包含的食谱总数。它还必须只包括出现超过 10 次的成分以及成分流行度的降序和升序的ingrdesc

表格如下:

到目前为止,我有这个查询:

0 投票
3 回答
68 浏览

python - 获取前 6 个元素,条件是 element >= 3

我正在尝试列出 11 个元素

我只想从 to 弹出最大l[0]元素l[5]。在以下两种情况之一:

l[5] >= 3orl[5]不再存在 or None

我收到错误消息:

我知道在某些时候l[5]将不再存在,但我怎样才能创建这个代码。