标签: aggregate-functions

Scala聚合函数的示例

我一直在寻找,我无法aggregate在Scala中找到我能理解的函数的示例或讨论.它看起来非常强大.

可以使用此函数来减少元组的值以生成多图类型集合吗?例如:

val list = Seq(("one", "i"), ("two", "2"), ("two", "ii"), ("one", "1"), ("four", "iv"))
Run Code Online (Sandbox Code Playgroud)

应用聚合后:

Seq(("one" -> Seq("i","1")), ("two" -> Seq("2", "ii")), ("four" -> Seq("iv"))
Run Code Online (Sandbox Code Playgroud)

此外,您还可以给实例参数z,segopcombop?我不清楚这些参数是做什么的.

scala aggregate-functions

35
推荐指数
4
解决办法
4万
查看次数

PostgreSQL:按分钟运行查询的行数

我需要查询每分钟直到该分钟的总行数.

到目前为止我能达到的最好成绩并没有成功.它返回每分钟的计数,而不是每分钟的总计数:

SELECT COUNT(id) AS count
     , EXTRACT(hour from "when") AS hour
     , EXTRACT(minute from "when") AS minute
  FROM mytable
 GROUP BY hour, minute
Run Code Online (Sandbox Code Playgroud)

sql postgresql datetime aggregate-functions window-functions

35
推荐指数
1
解决办法
2万
查看次数

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

鉴于此数据集:

ID  Name            City            Birthyear
1   Egon Spengler   New York        1957
2   Mac Taylor      New York        1955
3   Sarah Connor    Los Angeles     1959
4   Jean-Luc Picard La Barre        2305
5   Ellen Ripley    Nostromo        2092
6   James T. Kirk   Riverside       2233
7   Henry Jones     Chicago         1899
Run Code Online (Sandbox Code Playgroud)

我需要找到3个最老的人,但每个城市只有一个.

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

  • 亨利琼斯/芝加哥
  • 麦克泰勒/纽约
  • Egon Spengler /纽约

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

优雅的解决方案?

更新:

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

SELECT P.*, COUNT(*) AS ct
   FROM people P
   JOIN (SELECT MIN(Birthyear) AS Birthyear
              FROM people 
              GROUP by City) P2 …
Run Code Online (Sandbox Code Playgroud)

mysql sql unique aggregate-functions min

34
推荐指数
1
解决办法
7万
查看次数

LINQ按时间段聚合和分组

我试图了解如何使用LINQ按时间间隔对数据进行分组; 然后理想地聚合每个组.

查找具有明确日期范围的众多示例,我正在尝试按时段分组,例如5分钟,1小时,1天.

例如,我有一个用Date包装DateTime的类:

public class Sample
{
     public DateTime timestamp;
     public double value;
}
Run Code Online (Sandbox Code Playgroud)

这些观察结果包含在List集合中的一系列中:

List<Sample> series;
Run Code Online (Sandbox Code Playgroud)

因此,按小时分组和按平均值计算总值,我正在尝试执行以下操作:

var grouped = from s in series
              group s by new TimeSpan(1, 0, 0) into g
              select new { timestamp = g.Key, value = g.Average(s => s.value };
Run Code Online (Sandbox Code Playgroud)

这基本上是有缺陷的,因为它将TimeSpan本身分组.我无法理解如何在查询中使用TimeSpan(或表示间隔的任何数据类型).

c# linq aggregate-functions

34
推荐指数
3
解决办法
3万
查看次数

PostgreSQL中的GROUP BY和COUNT

查询:

SELECT COUNT(*) as count_all, 
       posts.id as post_id 
FROM posts 
  INNER JOIN votes ON votes.post_id = posts.id 
GROUP BY posts.id;
Run Code Online (Sandbox Code Playgroud)

返回nPostgresql 中的记录:

 count_all | post_id
-----------+---------
 1         | 6
 3         | 4
 3         | 5
 3         | 1
 1         | 9
 1         | 10
(6 rows)
Run Code Online (Sandbox Code Playgroud)

我只想检索返回的记录数:6.

我使用子查询来实现我想要的,但这似乎不是最佳的:

SELECT COUNT(*) FROM (
    SELECT COUNT(*) as count_all, posts.id as post_id 
    FROM posts 
    INNER JOIN votes ON votes.post_id = posts.id 
    GROUP BY posts.id
) as x;
Run Code Online (Sandbox Code Playgroud)

如何在PostgreSQL中获得此上下文中的记录数?

sql postgresql count distinct aggregate-functions

34
推荐指数
3
解决办法
9万
查看次数

按第一个字符分组

我在Oracle SQL中遇到问题.

first_nameemployees表格中有一列.我想根据第一个字符对我的记录进行分组first_name.

例如,我有26条记录,一个用name = 'Alice',一用name = 'Bob',等下来的字母表每个名称的第一个字符.查询后,应该有26个组,每个组有一名员工.

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

SELECT employee_id, (SUBSTR(first_name,1,1)) AS alpha FROM employees
GROUP BY alpha;

name_which_starts_from       employees  
A                            10  
B                            2  
C                            4  
D                            9  
E                            3  
G                            3  
H                            3  
I                            2  
J                            16  
K                            7  
L                            6  
M                            6  
N                            4  
O                            1  
P                            6  
R                            3  
S                            13  
T                            4  
V                            2  
W                            3  
Run Code Online (Sandbox Code Playgroud)

sql group-by aggregate-functions

33
推荐指数
3
解决办法
4万
查看次数

在reshape2中使用min或max时,没有非缺失参数警告

当我在reshape2包中的dcast函数中使用min或max时,我收到以下警告.它告诉我什么?我找不到任何解释警告信息的东西,我有点困惑,为什么我在使用max时得到它而不是当我使用mean或其他聚合函数时.

警告消息:
在.fun(.value [0],...)中:min没有非缺失参数; 返回Inf

这是一个可重复的例子:

data(iris)

library(reshape2)

molten.iris <- melt(iris,id.var="Species")
summary(molten.iris)
str(molten.iris)
#------------------------------------------------------------
# Both return warning:
dcast(data=molten.iris,Species~variable,value.var="value",fun.aggregate=min)
dcast(data=molten.iris,Species~variable,value.var="value",fun.aggregate=max)

# Length looks fine though
dcast(data=molten.iris,Species~variable,value.var="value",fun.aggregate=length)

#------------------------------------------------------------
# No warning messages here:
aggregate(value ~ Species + variable, FUN=min, data=molten.iris)
aggregate(value ~ Species + variable, FUN=max, data=molten.iris)
#------------------------------------------------------------
# Or here:
library(plyr)

ddply(molten.iris,c("Species","variable"),function(df){
  data.frame(
    "min"=min(df$value),
    "max"=max(df$value)
    )
})
#------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

r aggregate-functions reshape2

33
推荐指数
1
解决办法
6万
查看次数

MySQL中的COUNT CASE和WHEN语句

如何在MySQL查询中使用COUNT CASE和WHEN语句,在一个MySQL查询中计算数据是否为NULL以及何时不为NULL?

mysql sql aggregate-functions

31
推荐指数
1
解决办法
7万
查看次数

计数值出现在MySQL的特定列中

之前可能已经提到过,但我无法通过无数的搜索结果.

给定一个非规范化的MySQL表,什么是最优化的查询来计算列x的每个不同值的使用次数?

例如,给出一个包含的表

mike
mary
mike
Run Code Online (Sandbox Code Playgroud)

返回结果如:

mike 2
mary 1
Run Code Online (Sandbox Code Playgroud)

从MySQL文档中,它似乎count是一个可以使用的聚合函数GROUP BY,但它没有做我想要的(它返回的总行数GROUP BY,而不是每行的出现次数.即这不工作SELECT count(email) as c FROM orders GROUP BY email

mysql aggregate-functions

31
推荐指数
2
解决办法
11万
查看次数

MYSQL如何选择字段具有最小值的数据

我想从表中选择数据,其中特定字段具有最小值,我试过这个:

SELECT * FROM pieces where min(price)
Run Code Online (Sandbox Code Playgroud)

我对MySQL不好,请帮忙吗?谢谢

mysql sql aggregate-functions greatest-n-per-group

30
推荐指数
5
解决办法
10万
查看次数