问题标签 [aggregate-functions]

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 投票
6 回答
953 浏览

sql - 按 Max 分组

我正在尝试为每个 symb 的最大股东数量拉取 symb 和价格。例如,我将只有 1 行 ASN 价格为 60.62 美元。

0 投票
6 回答
12838 浏览

sql - SQL 复合键查询

再次引用此SQL products/productsales

当主键由两列而不是一列组成时,我怎么能做这样的事情?

所以 products 有两列作为 PK,productsales 有两列作为 FK。

这是使用 1 列键的解决方案:

0 投票
2 回答
2420 浏览

postgresql - 修改 postgresql "list" 聚合以删除重复项

我最喜欢的 postgres 聚合之一是“列表”,根据我在网络上找到的少量证据,归因于“idocs 中的 Chris Rohlfs”。

有时,我发现我希望它消除重复项。一个旧的邮件列表线程表明这种方法不能进行排序,这可能是重复删除的交易杀手。同一线程中的另一篇文章建议了一个做同样事情的函数;也许为此目的它更可修改?

与此同时,我只会用另一种语言来按摩输出。但是,如果我们可以直接在 postgres 中执行此操作,那就太酷了!

0 投票
7 回答
60382 浏览

sql - 按第一个字符分组

我对 Oracle SQL 中的查询有疑问。

我在表first_name中有一个列employees。我想根据 中的第一个字符对我的记录进行分组first_name

例如,我有 26 条记录,一条带有name = 'Alice',一条带有name = 'Bob',依此类推,每个名称的第一个字符按字母顺序排列。查询后,应该有 26 个组,每个组有 1 名员工。

我尝试了以下方法,但它不起作用:

0 投票
4 回答
20488 浏览

sql - 带有 SQL MIN() 和 GROUP BY 的额外字段

当使用 SQL MIN() 函数以及 GROUP BY 时,任何其他列(不是 MIN 列或 GROUP BY 列之一)是否与匹配的 MIN 行中的数据匹配?

例如,给定一个包含部门名称、员工姓名和薪水的表:

显然我会得到两个很好的列,最低工资和部门。员工姓名(和任何其他员工字段)是否来自同一行?即具有 MIN(salary) 的行?

我知道很可能有两名员工的薪水相同(且最低),但我(现在)所关心的只是获取有关(或一名)最便宜员工的所有信息。

这会选择最便宜的推销员吗?

本质上,我可以确定与 MIN() 函数一起返回的数据将与具有该最小值的(或单个)记录匹配吗?

如果数据库很重要,我正在使用 MySql。

0 投票
2 回答
2664 浏览

google-app-engine - GQL 是否支持常用的 SQL 样式聚合?

我正在寻找一个在 SQL 版本中广泛使用的简单聚合函数。

简单的事情喜欢Select Count(*) from table1更复杂的。

如果这些可用,是否有一些文件可以指点我?

谢谢 - 吉吉

0 投票
12 回答
66206 浏览

sql-server-2005 - 聚合 SQL 函数以仅从每个组中获取第一个

我有 2 个表 - 一个 Account 表和一个 Users 表。每个帐户可以有多个用户。我有一个场景,我想对这两个表执行单个查询/连接,但我想要所有的帐户数据 (Account.*) 和只有第一组用户数据(特别是他们的名字)。

我不想在我的聚合组上做一个“最小”或“最大”,而是做一个“第一个”。但是,显然,TSQL 中没有“First”聚合函数。

关于如何获取此查询的任何建议?显然,很容易得到 Account x Users 的笛卡尔积:

但是我怎么可能只根据他们的 User.ID 的顺序从产品中获得第一个用户呢?

0 投票
3 回答
25857 浏览

sql - SQL AVG(计数(*))?

我试图找出一个值在一列中出现的平均次数,根据另一列对其进行分组,然后对其进行计算。

我有 3 张桌子有点像这样

ETC

基本上,我试图找到出现在贷款表中的所有副本 id 的次数少于该 DVD 所有副本的平均次数。

所以在上面的例子中,dvd 1 的副本 5 出现 3 次,复制 2 两次,然后复制 1 一次,所以该 DVD 的平均值是 2。我想列出出现少于贷款表中的那个数字。

我希望这更有意义...

谢谢

0 投票
6 回答
4103 浏览

sql - 对相关记录进行分组,但仅从第一条记录中选择某些字段

我正在对多个记录执行聚合函数,这些记录按公共 ID 分组。问题是,我还想导出一些其他字段,这些字段在分组记录中可能不同,但我想从其中一个记录中获取这些特定字段(第一个,根据查询的 ORDER BY)。

起点示例:

我需要查询推荐代码,但在聚合函数之外执行此操作意味着我也必须按该字段进行分组,这不是我想要的 - 在此示例中,我需要每个客户恰好一行。我真的只关心第一个订单的推荐代码,我很乐意丢弃任何以后的推荐代码。

这是在 PostgreSQL 中,但可能来自其他数据库的语法可能足够相似以工作。

被拒绝的解决方案:

  • 不能使用 max() 或 min() 因为顺序很重要。
  • 子查询一开始可能会起作用,但不能扩展;这是一个极其简化的例子。我的实际查询有几十个字段,比如我只想要第一个实例的参考代码,以及几十个 WHERE 子句,如果在子查询中重复,将成为维护的噩梦。
0 投票
3 回答
26025 浏览

reporting-services - SSRS:如何计算仅包含组中最后一项的总和

我有一个 rdlc 报告文件,我正在尝试计算只能包含每个组中的最后一项的总和。我有一张这样的桌子:

所以,换句话说,在User那里,我想要一笔Date……如果这有意义的话……

Number行包含许多数字Date。但Date只显示当天的最后一个数字,因为其余的不计算在内(但必须显示)在User我想总结该用户所有日期的最后一个数字。与相同Place(这将是每个用户每天最后一个数字的总和)。

谁能帮我解决这个问题?我尝试了明显的(至少对我而言)=Sum(Last(Fields!Number.Value)),但是(也尝试在这些函数中指定组,但没有产生任何影响,因为)当我尝试编译时出现错误,它说:

文本框“numberTextbox”的值表达式在另一个聚合函数(或 RunningValue)的参数中包含聚合函数(或 RunningValue 或 RowNumber 函数)。聚合函数不能嵌套在其他聚合函数中。

我想这有点道理......但是我该怎么做呢?


更新:我通过添加另一列并将最后的数字复制到该列中解决了这个问题。这样我可以显示所有的数字,并对只包含那些将在总和中的列进行求和。我仍然很好奇是否有人可以解决我原来的问题......所以如果你有,请发布答案!