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

mysql - 选择其中一列的值不同的 3 个最新记录

我有下表:

我想要做的是选择 3 个最近的记录(按时间降序),它们的otheridentifiers 是不同的。所以在这种情况下,结果将是id's: 5、4 和 2。

id= 3 将被跳过,因为有相同otheridentifier字段的更新记录。

这是我试图做的:

但是,我最终得到了id= 5, 31的行,而不是预期的 5, 4, 2 。

有人能告诉我为什么这个查询不会返回我所期望的吗?我尝试将 ORDER BY 更改为 ASC,但这只是将返回的行重新排列为 1、3、5。

0 投票
1 回答
7156 浏览

hibernate - HQL:按月分组

我正在尝试使用 HQL 按月对一些行进行分组,但我对该 API 有点陌生,似乎无法让它工作。

这是我的代码:

我对这个查询的问题是,由于 Projections.groupProperty("effectiveDate"),当我每月需要一行时,它将每天返回一行。

我考虑过使用 Projections.sqlGroupProjection 而不是 Projections.groupProperty 并添加一些 HQL,但是我发现的文档和几个示例并没有真正帮助我理解如何将正确的 postresql 语句放入该方法中。

任何了解 Postgres 和 HQL 的人都可以在这里给出一些提示吗?

0 投票
5 回答
627 浏览

mysql - Rails 中消息系统的棘手 MySQL 查询 - 请帮助

我正在为 Rails 应用程序编写一个 facebook 风格的消息系统,但在选择收件箱的消息时遇到了问题(使用 will_paginate)。

消息以线程的形式组织,在收件箱中,线程的最新消息将显示,并带有指向该线程的链接。线程是通过与自身的 parent_id 1-n 关系组织的。

到目前为止,我正在使用这样的东西:

这给了我所有的消息,但是对于一个线程,线程本身和最新消息将出现(而不仅仅是最新消息)。我也不能使用 GROUP BY 子句,因为对于线程本身(可以说是父级),parent_id = nil 当然。

任何人都知道如何以优雅的方式解决这个问题?我已经考虑过将 parent_id 添加到父级本身,然后按 parent_id 分组,但我不确定这是否有效。

谢谢

0 投票
3 回答
16672 浏览

sql - SQL Join 和 Count 不能正确 GROUP BY?

因此,假设我想选择我所有博客文章的 ID,然后计算与该博客文章相关的评论数,我如何使用 GROUP BY 或 ORDER BY 以便返回的列表按每篇文章的评论数排序?

我有这个查询返回数据但不是按我想要的顺序?更改 group by 没有区别:

0 投票
2 回答
1145 浏览

sql - 每组匹配行的比率

我想计算一个组中满足某些条件的项目在该组中的项目总数中的比率。我已经解决了这个问题,但很想知道我的解决方案是否是最优的,因为查询在我的大型(10m+)数据集上花费了很长的时间。

这是我最简单的形式:

有没有更有效的方法来编写这个查询?

0 投票
2 回答
345 浏览

django - Django - ORM 问题

只是想知道是否有可能获得仅使用 Django ORM 的 SQL 查询可以获得的结果:

结果是:

简化模型如下所示:

我已经尝试了各种混合使用 .extra(select={}) 和 .values() 的方法,还使用了此处描述的 .query.group_by 技巧但希望能以全新的眼光看待这个问题。

0 投票
6 回答
86567 浏览

mysql - mysql 按日期选择总和组

快速提问,我有下表

我想把每个月的总数加起来,然后按月分组。因此,例如1 月- > 2 月 138 日-> 4 月 88.2 日-> 29.84

关于它的任何线索。谢谢

0 投票
4 回答
1170 浏览

sql - SQL 按问题分组

我有一个查询,它执行了许多连接,并且在 WHERE 子句中有一些条件,我最终得到的结果基本上如下所示:

因此,本质上对于每个用户来说,过去会有一个或多个日期,未来会有 0 个或多个日期。

我需要以某种方式将数据集减少到每个用户一行,只选择最近通过的行 date。也就是说,无论添加什么魔法GROUP BYHAVING子句,上面的结果将如下所示:

0 投票
3 回答
2250 浏览

sql - SQL Sum Column before inserting into #temp

In my SPROC a table named #temp1 contains the following columns:

My question is based on the following query

A sample result set looks like this:

Unfortunatly since I have to GROUP BY the QtyOnHand & ReservedQty columns in my CASE statement I get multiple rows for each StoreId.

I would like to know if there is a simple way for me to sum the results (again) based on the CommittedQty so that I may get the following result set I desire:

I realize I could use another temp table but wondered if there was an easier way to accomplish this inside the SELECT statement

0 投票
5 回答
23943 浏览

sql - SQL Server 中的连接组

如果我有这样的表:

我怎样才能得到这样的结果集:

我知道在 MySQL 中使用 GROUP_CONCAT 很容易做到这一点,但我需要能够在 MSSQL 2005 中做到这一点

谢谢

(复制SQL Server 中如何使用 GROUP BY 连接字符串?