Questions tagged «group-by»

GROUP BY是SQL关系数据库标准中的命令,用于将共享公共字段值的一组行折叠为单个行。可以对组中的其他字段(例如SUM()或AVG())执行聚合函数,以将相关数据整理为单个值。

7
必须出现在GROUP BY子句中或在聚合函数中使用
我有一张桌子,看起来像这个呼叫者“ makerar” cname | wmname | avg --------+-------------+------------------------ canada | zoro | 2.0000000000000000 spain | luffy | 1.00000000000000000000 spain | usopp | 5.0000000000000000 我想为每个cname选择最大平均值。 SELECT cname, wmname, MAX(avg) FROM makerar GROUP BY cname; 但我会出错 ERROR: column "makerar.wmname" must appear in the GROUP BY clause or be used in an aggregate …

15
在MySQL中,SELECT DISTINCT或GROUP BY更快吗?
如果我有桌子 CREATE TABLE users ( id int(10) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, profession varchar(255) NOT NULL, employer varchar(255) NOT NULL, PRIMARY KEY (id) ) 并且我想获取profession字段的所有唯一值,这会更快(或推荐): SELECT DISTINCT u.profession FROM users u 要么 SELECT u.profession FROM users u GROUP BY u.profession ?

9
MySQL排序依据
在这里可以找到很多类似的问题,但是我认为没有一个人能够充分回答这个问题。 如果可以的话,我将继续从当前最流行的问题开始,并使用其示例。 本例中的任务是获取数据库中每个作者的最新帖子。 该示例查询产生不可用的结果,因为它并不总是返回最新的帖子。 SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_status='publish' AND wp_posts.post_type='post' GROUP BY wp_posts.post_author ORDER BY wp_posts.post_date DESC 当前接受的答案是 SELECT wp_posts.* FROM wp_posts WHERE wp_posts.post_status='publish' AND wp_posts.post_type='post' GROUP BY wp_posts.post_author HAVING wp_posts.post_date = MAX(wp_posts.post_date) <- ONLY THE LAST POST FOR EACH AUTHOR ORDER BY wp_posts.post_date DESC 不幸的是,这个答案是简单而简单的错误,并且在许多情况下所产生的结果要比原始查询更不稳定。 我最好的解决方案是使用形式的子查询 SELECT …

11
如何在同一条select语句中使用count和group by
我有一个分组的SQL选择查询。我想对group by语句之后的所有记录进行计数。有没有办法直接从SQL?例如,有一个包含用户的表格,我想选择不同的城镇和用户总数 select town, count(*) from user group by town 我想有一列包含所有城镇,另一列包含所有行中的用户数。 共有3个镇和58个用户的结果示例是: Town Count Copenhagen 58 NewYork 58 Athens 58
223 sql  count  group-by 

6
将多个功能应用于多个groupby列
该文档展示了如何使用输出列名称作为键的字典一次在groupby对象上应用多个功能: In [563]: grouped['D'].agg({'result1' : np.sum, .....: 'result2' : np.mean}) .....: Out[563]: result2 result1 A bar -0.579846 -1.739537 foo -0.280588 -1.402938 但是,这仅适用于Series groupby对象。同样,当将字典类似地传递到groupby DataFrame时,它期望键是将应用该函数的列名。 我想做的是对多个列应用多个功能(但是某些列将被多次操作)。同样,某些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列进行操作,并使用类似于上面代码的代码,对依赖其他行的函数使用lambda。但这要花很长时间,(我认为花很长时间才能遍历groupby对象)。我必须对其进行更改,以便一次运行即可遍历整个groupby对象,但是我想知道熊猫中是否有内置的方法可以使此操作更加简洁。 例如,我尝试过类似 grouped.agg({'C_sum' : lambda x: x['C'].sum(), 'C_std': lambda x: x['C'].std(), 'D_sum' : lambda x: x['D'].sum()}, 'D_sumifC3': lambda x: x['D'][x['C'] == 3].sum(), ...) 但正如我所料,我收到一个KeyError(因为如果agg从DataFrame调用,则键必须是一列)。 是否有任何内置方法可以执行我想做的事情,或者可能添加了此功能,或者我只需要手动遍历groupby? 谢谢

3
LINQ与groupby和count
这很简单,但我很茫然:鉴于这种数据集: UserInfo(name, metric, day, other_metric) 和此示例数据集: joe 1 01/01/2011 5 jane 0 01/02/2011 9 john 2 01/03/2011 0 jim 3 01/04/2011 1 jean 1 01/05/2011 3 jill 2 01/06/2011 5 jeb 0 01/07/2011 3 jenn 0 01/08/2011 7 我想检索一个表,该表按顺序(0,1,2,3 ..)列出指标,其中包含发生计数的总数。因此,从这个集合中您将得到: 0 3 1 2 2 2 3 1 我正在努力使用LINQ语法,但是在哪里放置groupby并计数...有任何帮助吗? 开机自检编辑:我始终无法获得已发布的答案,因为它们总是返回一条记录,且记录的数目不同。但是我能够整理一个有效的LINQ …
220 c#  linq  group-by 


7
熊猫分组和
我正在使用此数据框: Fruit Date Name Number Apples 10/6/2016 Bob 7 Apples 10/6/2016 Bob 8 Apples 10/6/2016 Mike 9 Apples 10/7/2016 Steve 10 Apples 10/7/2016 Bob 1 Oranges 10/7/2016 Bob 2 Oranges 10/6/2016 Tom 15 Oranges 10/6/2016 Mike 57 Oranges 10/6/2016 Bob 65 Oranges 10/7/2016 Tony 1 Grapes 10/7/2016 Bob 1 Grapes …


7
MongoDB SELECT COUNT GROUP BY
我正在与MongoDB一起玩,试图弄清楚如何做一个简单的 SELECT province, COUNT(*) FROM contest GROUP BY province 但是我似乎无法使用聚合函数弄清楚。我可以使用一些很奇怪的组语法来做到这一点 db.user.group({ "key": { "province": true }, "initial": { "count": 0 }, "reduce": function(obj, prev) { if (true != null) if (true instanceof Array) prev.count += true.length; else prev.count++; } }); 但是使用聚合函数是否有更简单/更快的方法?

4
SQL查询以查找计数> 1的记录
我有一个名为的表PAYMENT。在此表中,我有一个用户ID,一个帐号,一个邮政编码和一个日期。我想查找每天使用同一帐号进行多次付款的所有用户的所有记录。 更新:此外,应该有一个筛选器,而不是仅对邮政编码不同的记录进行计数。 该表如下所示: | user_id | account_no | 拉链 日期| | 1 | 123 | 55555 | 09年12月12日| | 1 | 123 | 66666 | 09年12月12日| | 1 | 123 | 55555 | 09年12月13日| | 2 | 456 | 77777 | 09年12月14日| | 2 | 456 | 77777 | 09年12月14日| …
175 sql  count  group-by  having 

5
联接两个SELECT语句结果
是否可以SELECT在一条语句中加入2条sql 语句的结果?我有一个任务数据库,其中每个记录都是一个单独的任务,带有截止日期(并且a PALT,INT从开始到截止日期只是几天。 Age也是INT几天)。 我想要一个表,其中包含表中的每个人,他们拥有的LATE任务数以及他们拥有的任务数(如果有)。 我可以轻松地在单独的表中获取此数据,如下所示: SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks 返回数据,如: ks # Tasks person1 7 person2 3 然后我有: SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks 返回: ks # Late person1 1 person2 1 我想加入这两个select语句的结果(通过KS) …
174 sql  select  join  group-by 

13
如何按小时或10分钟分组时间
就像我做的时候 SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY [Date] 如何指定小组活动时间? 微软SQL 2008 第二次编辑 我尝试着 SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT 将%10更改为/10。是否可以使Date输出不带毫秒?

5
熊猫groupby排序
我想按两列对数据框进行分组,然后对各组中的汇总结果进行排序。 In [167]: df Out[167]: count job source 0 2 sales A 1 4 sales B 2 6 sales C 3 3 sales D 4 7 sales E 5 5 market A 6 3 market B 7 2 market C 8 4 market D 9 1 market E In [168]: …

5
如何通过密钥按数据组访问熊猫
如何通过密钥访问groupby对象中的相应groupby数据帧? 通过以下groupby: rand = np.random.RandomState(1) df = pd.DataFrame({'A': ['foo', 'bar'] * 3, 'B': rand.randn(6), 'C': rand.randint(0, 20, 6)}) gb = df.groupby(['A']) 我可以遍历它来获取密钥和组: In [11]: for k, gp in gb: print 'key=' + str(k) print gp key=bar A B C 1 bar -0.611756 18 3 bar -1.072969 10 5 bar -2.301539 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.