问题标签 [group-by]

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 回答
7709 浏览

sql - 使用 GROUP BY 汇总统计信息的 Oracle SQL 查询

我有一个 Oracle 表,其中的数据如下所示:

也就是说,ID是主键,每个“批次”会有多行,每一行在STATUS列中都会有一个状态码。还有很多其他的列,但这些是重要的。

我需要编写一个查询来总结每个批次的状态代码;STATUS 列中可以包含三个可能的值,0、1 和 2,我希望输出看起来像这样:

这些数字将是计数;对于第 1 批,有

  • STATUS设置为 0 的2 条记录
  • STATUS设置为 1 的1 条记录,以及
  • 没有STATUS设置为 0 的记录。

对于第 2 批,有

  • 1 条记录,其中STATUS设置为 0,并且
  • 没有STATUS设置为 1 或 2 的记录。

有没有一种方法可以在一个查询中执行此操作,而无需为每个状态代码重写查询?即我可以很容易地写一个这样的查询,并运行它三遍:

我可以运行它,然后在 status = 1 的地方再次运行它,然后在 status = 2 的地方再次运行它,但我希望在一个查询中完成它。

如果它有所不同,除了STATUS列之外,我可能还想以同样的方式总结另一列——另一个原因是我不想在 SELECT 语句之后执行 SELECT 语句并合并所有结果。

0 投票
9 回答
28061 浏览

mysql - 如何使用“group by”和“where”加速“select count(*)”?

如何加快select count(*)速度group by
它太慢了,而且使用频率很高。
我在使用超过 3,000,000 行的表时select count(*)遇到了很大的麻烦。group by

关系标题,对象标题是 varchar。 其中,relation_title='XXXX'返回超过 1,000,000 行,导致object_title上的索引 无法正常工作。

0 投票
4 回答
1199 浏览

sql - SQL 语法——分组依据...自定义聚合功能?

我有这样的情况:

表:FunTable

我需要执行以下操作:

输出应该是这样的:

因此,价格的生效日期范围可以从 5 年前到现在的 5 年。我想选择今天或过去有效的价格(不是将来!它还没有生效)。它必须是“最近的”有效价格。

有什么想法吗?

0 投票
5 回答
18362 浏览

sql - 为什么必须对 CASE 语句中的列进行 GROUP BY?

我试图在 SQL Server 2008 中针对某些数据输入不一致的表运行查询,我必须处理这个问题。

表数据示例:

我必须处理数量为负但 MarkedUpTotal 输入为正的情况。

我想运行以下查询:

但是,当我运行此查询时出现以下错误:

列 Qty 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

MarkedUpTotal 列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

我希望得到以下结果:

当 CASE 语句有条件地使用它们时,我必须 GROUP BY Qty 和 MarkedUpTotal 对我来说似乎很奇怪。如果我删除最后一个选择(CASE 语句),则查询执行良好,并且不需要 Qty 或 Price 在 GROUP BY 中。

为什么 SQL 需要这个?是否有一个查询可以完成上述操作?

目前我正在通过使用临时表来解决这个问题。如果需要,我会修改每个条目的 MarkedUpTotal,然后在临时表的主查询中执行简单的 SUM(MarkedUpTotal)。

0 投票
1 回答
1304 浏览

sql - 按会计月底更改日期和组

我创建了下表(通过 UNION ALL):

我想检索:

它应该首先将 DATE 列转换为下一个会计月末 FISCAL(例如 1/27/2007 -> 1/28/2009、1/30/2009 -> 2/27/2009 等),然后按那个值。

我能够使用:

但这只是按日历日期分组,而不是根据我在FISCAL列中的财政月份结束。

0 投票
2 回答
3578 浏览

c# - Linq:在查询语法中使用带有 GroupBy/Distinct 的 StringComparer

我有这个(XLinq)查询,想知道如何将其转换为查询语法:

这是没有 StringComparer 的查询语法:

我的 groupby 比这个复杂一点,所以我更喜欢使用 group 的 key 而不是引入新的属性。

这是我尝试过的,但不起作用,因为 let “key”在 select 的上下文中不可用(我使用了更复杂的键定义来说明我不想在选择):

最后,区分大小写并不重要,因为我可以假设所有的大小写都是相同的......

相关问题:LINQ Distinct 运算符忽略大小写?

0 投票
2 回答
7907 浏览

c# - 在 javascript 中创建嵌套对象,如 C# 中的 groupby

是否可以在 Javascript 中获取平面列表并将其转换为嵌套对象?一个通用的解决方案是?

0 投票
1 回答
707 浏览

sql - SQL:如何按自定义年份分组

为简单起见,我将制作一个与我所拥有的类似的示例:

假设一个数据库有一个订单表,其中包含一个 OrderDate 字段和一个 Company 字段。然后是一张公司表,每条记录都有一个 YearEndingDate(表示年份在每年的那个日期结束,例如 6/6)。

我需要将每年的所有订单加起来。

我认为它必须是这样的,但我无法弄清楚:

有任何想法吗?

0 投票
3 回答
151098 浏览

python - sqlalchemy中的分组和计数功能

我想要 sqlalchemy 中的“分组和计数”命令。我怎样才能做到这一点?

0 投票
2 回答
272 浏览

sql - 在mysql中按日期分组结果

这条 SQL 语句

返回一个结果,即使表中存在多个具有不同日期的结果。我也试过用DATE_FORMAT。我在做傻事吗?

When是具有完整时间戳的时间戳列,包括小时、分钟和秒。我试图按天/月/年按结果分组。