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

sql-server-2005 - SQL Server 2005 计算列结果来自另一个表字段值的聚合

抱歉,问题标题太长了。

我想我在这个上输了,但机会不大。

是否可以将表中的计算字段的计算作为应用于另一个表中的字段的聚合函数的结果。

IE

你有一张叫做“杯子”的桌子,它有一个叫做“颜色”的孩子(这让我的英国头疼,但供应商来自美国,你要做什么?)而这反过来又有一个孩子叫做“尺寸'。每个表都有一个称为已售出的字段。

每卖出一个特定颜色和尺寸的杯子,size.sold 就会增加 1。

您希望 color.sold 是 SUM size.sold WHERE size.colorid = color.colorid 的聚合

您希望 mug.sold 是 SUM color.sold WHERE color.mugid = mug.mugid 的集合

有没有办法让 mug.sold 和 color.sold 自己解决问题,或者我将不得不使用触发器?

0 投票
6 回答
11523 浏览

activerecord - 获取 ActiveRecord 中每个组的最小值/最大值

这是一个古老的问题,给定一个具有“类型”、“品种”和“价格”属性的表格,您可以获取每种类型的最低价格的记录。

在 SQL 中,我们可以通过以下方式做到这一点

我们或许可以通过以下方式模仿:

还有比这更好的实现吗?

0 投票
5 回答
74623 浏览

sql - MySQL:选择 N 行,但在一列中只有唯一值

给定这个数据集:

我需要找到 3 个最年长的人,但每个城市只有一个。

如果它只是三个最古老的,那将是......

  • 亨利琼斯 / 芝加哥
  • 麦克泰勒/纽约
  • 埃贡斯宾格勒 / 纽约

然而,由于 Egon Spengler 和 Mac Taylor 都位于纽约,因此 Egon Spengler 将退出,而下一位(Sarah Connor / 洛杉矶)将进入。

任何优雅的解决方案?

更新:

目前,PConroy 的变体是最好/最快的解决方案:

他使用“IN”的原始查询对于大数据集非常慢(5 分钟后中止),但是将子查询移动到 JOIN 会大大加快速度。大约需要 0.15 秒。我的测试环境中有 1 个 mio 行。我有一个关于“城市,生日”的索引,而第二个索引是关于“生日”的。

注意:这与...有关

0 投票
5 回答
13962 浏览

sql - 如何减去而不是添加类似 sql 函数的 Sum()

我在 sql 语句中有一个 group by 子句,需要使用聚合函数来减去每个组中的所有值,而不是像 Sum() 函数那样添加。

IE

..so 将评估 2+1 并返回 3。

我需要一些做 2-1 的方法来返回 1。

希望这是有道理的。我能想到的唯一方法是使用 CLR 集成来制作我自己的聚合函数。

还有其他想法吗?

0 投票
2 回答
6773 浏览

sql - sql - 使用聚合函数(最小值/最大值)作为选择语句的一部分

我正在尝试返回别墅预订系统的最低和最高价格。我有一个查找表,存储每个别墅每周的价格。

我在选择中使用 min 和 max 函数来执行此操作,但我遇到了很多问题。谁能解释我哪里出错了?这里是sp

AS BEGIN -- 添加了 SET NOCOUNT ON 以防止额外的结果集 -- 干扰 SELECT 语句。设置无计数;

0 投票
4 回答
6556 浏览

mysql - MySQL:在聚合函数中使用别名字段

我有一个类似这样的 SQL 语句:

但是 MySQL 不允许这样做,因为 foo 是一个别名。有谁知道如何在 SQL 中实现这一点?

0 投票
4 回答
147 浏览

mysql - 计算 mySQL 列中某些数据的实例数

我有一个名为 urltracker 的表,其中包含有关单击特定 URL 的次数的信息。该表结构为 4 列 id、urlclicked、referrer 和时间戳。每次单击 url 时,urltracker 都会在表中创建另一个条目。

我想要做的是显示一个特定的 url 和它被点击的次数,然后用户可以通过点击来深入了解数据,以显示这个 url 被点击的所有特定时间。

我不是 sql 专家,但这听起来我需要首先显示所有不同的 URL,然后是一个子查询,该查询显示这个特定 url 的所有条目。

我的想法是对的还是有更简单的方法?

0 投票
4 回答
41253 浏览

sql - SQLite 中 WHERE 子句中的聚合函数

简而言之,我有一个表格,其中包含时间戳列。我想获得具有最新(即最大值)时间戳的行。目前我正在这样做:

但我更愿意做这样的事情:

但是,SQLite 拒绝此查询:

文档确认了这种行为(页面底部):

聚合函数只能在 SELECT 语句中使用。

我的问题是:是否可以编写查询以获取具有最大时间戳的行,而无需对选择进行排序并将返回的行数限制为 1?这似乎应该是可能的,但我想我的 SQL-fu 不符合标准。

0 投票
4 回答
6108 浏览

sql - MySQL添加总列

我需要查询此数据库以获取每一行,以及结果的列值之一的 SUM。我可以使用 php 来获取总值,但是我需要运行两个循环,一个来获取总值(位于结果上方的顶部)。所以我更喜欢查询来捕获它并只创建一个“总”行,但我让它工作的唯一方法是使用基本上是原始查询重复的子查询。有没有更好的办法?

上述工作和输出:

这是我需要的,但可能不是获得它的最佳方式。

0 投票
3 回答
8555 浏览

c# - LINQ to SQL:对来自订购系统的多个表的报告的聚合数据进行复杂查询

我想将以下查询转换为 LINQ 语法。我在设法让它工作时遇到了很多麻烦。我实际上尝试从 LINQ 开始,但发现如果我反过来写它可能会更好。

最终结果是一个表格,向我显示了有关产品的信息,如您在上面看到的。如何使用理解语法以 LINQ 形式编写此查询?

此外,我可能想要添加额外的过滤器(例如,添加到 orders_mainTable)。

这是我尝试制作的一个示例,并且相当接近,但不确定它是否是“正确”的方式,并且无法从 orders_productsTable 中按大小和颜色对其进行分组。

*编辑:

为了更明确一点,这样你就可以理解我想要做什么,这里有一些更多的解释。

商品存放在 products_mainTable 订单存放在 orders_mainTable 已下单的商品存放在 orders_productsTable

我想根据产品、订单等创建几个报告。钻取数据并找到有意义的位以显示给最终用户。

在这种情况下,我试图显示在一段时间内购买了哪些产品,并且是最受欢迎的。卖出了多少,价格是多少,每个订单的突破是多少。也许不是最好的顺序,但我只是在试验并选择了这个。

所有表都与其他表有关系。所以从产品表中,我可以得到订购该产品的订单等。

我遇到的最大问题是了解 LINQ 的工作原理,尤其是在分组、聚合数据、扩展、子查询等方面。这很有趣,但它开始变得令人沮丧,因为我很难找到有关如何执行此操作的详细解释。