标签: aggregate

从SQL中的多个数据库中选择COUNT()

我正在尝试返回已租用特定电影的特定州的客户数量,其中租户表包含两列,一列用于客户ID,另一列用于电影ID.该函数接受电影ID和状态,并返回一个包含客户数量的整数.

现在我有一个实现,但它会计算整个查询返回的行数:

SELECT COUNT(*) as numCustomers FROM CUSTOMER C, RENTS R WHERE C.ST = '" + state + "' AND R.mid = " + movieID
Run Code Online (Sandbox Code Playgroud)

然后我算出行数.我想能够检查numCustomers的正确数据.谢谢!

sql select aggregate count

3
推荐指数
1
解决办法
3169
查看次数

是否可以使用可调用的order_by?

DUPLICATE: 在order_by()中使用Django自定义模型方法属性

我有两个型号; 一个存储帖子,另一个存储在这些帖子上进行的投票,使用ForeignKey字段相关.每个投票都存储为一个单独的记录,因为我需要跟踪投票的用户和日期时间.

我创建了一个帮助函数,使用Django 1.1聚合Sum函数计算所有投票.

class Post(models.Model):
    ...some fields...

    def tally(self):
        return self.vote_set.all().aggregate(Sum('value'))['value__sum'] or 0

class Vote(models.Model):
    post = models.ForeignKey(Post)
    value = models.IntegerField()
    ...some fields...
Run Code Online (Sandbox Code Playgroud)

我需要做的一个查询需要做一次order_by计数.然而:

Post.objects.all().order_by('tally')
Run Code Online (Sandbox Code Playgroud)

产生以下模板错误:

渲染时捕获异常:无法将关键字"tally"解析为字段.选项包括:date_created,description,id,is_active,name,related,slug,user,vote

有没有办法让order_by()函数可以调用?

django aggregate django-queryset

3
推荐指数
1
解决办法
1233
查看次数

汇总每日内容

我一直试图聚合(一些不稳定的)每日数据.我实际上正在使用csv数据,但如果我重新创建它 - 它看起来像这样:

library(zoo)

dates <- c("20100505", "20100505", "20100506", "20100507")
val1 <- c("10", "11", "1", "6")
val2 <- c("5", "31", "2", "7")

x <- data.frame(dates = dates, val1=val1, val2=val2)
z <- read.zoo(x, format = "%Y%m%d")
Run Code Online (Sandbox Code Playgroud)

现在我想每天聚合这个(注意有时候一天有> 1个数据点,有时候也没有.

我已经尝试了很多很多变化,但我似乎无法聚合,所以例如这失败了:

aggregate(z, as.Date(time(z)), sum)
# Error in Summary.factor(2:3, na.rm = FALSE) : sum not meaningful for factors
Run Code Online (Sandbox Code Playgroud)

关于聚合似乎有很多内容,我尝试了很多版本,但似乎无法在日常水平上总结这一点.除了每日总结之外,我还想运行cummax和累积平均值.

任何帮助都会受到高度赞赏.

更新

我实际使用的代码如下:

z <- read.zoo(file = "data.csv", sep = ",", header = TRUE, stringsAsFactors = FALSE, blank.lines.skip = T, na.strings="NA", format = "%Y%m%d");
Run Code Online (Sandbox Code Playgroud)

似乎我(无意)引用上面的数字类似于实践中发生的事情,因为当我这样做时: …

aggregate r

3
推荐指数
1
解决办法
5978
查看次数

在PostgreSQL中聚合(x,y)坐标点云

我有一个PostgreSQL数据库表,具有以下简化结构:

  • 设备ID varchar
  • Pos_X(int)
  • Pos_Y(int)

基本上,该表包含许多用于设备的二维航路点数据.现在我想设计一个减少输出中坐标数量的查询.它应聚合附近的坐标(对于某个x,y阈值)一个例子:

第1行:DEVICE1; 603; 1205

第2行:DEVICE1; 604; 1204

如果阈值为5,那么这两行应该聚合,因为方差小于5.任何想法如何在PostgreSQL或SQL中一般这样做?

sql postgresql aggregate

3
推荐指数
1
解决办法
1064
查看次数

SQL聚合函数嵌套

我正在使用PostgreSQL学习SQL,并且遇到了有关嵌套聚合函数的问题.

我试图找到具有最大数量的房产的私人业主的细节,我有两个关系,私人所有者和propertyforrent与propertyforrent有一个外键,ownwerno.

我怀疑我的问题是我试图嵌套聚合函数的地方,但我看不到解决方法.

注意: - 我正在使用的数据库在propertyforrent属性ownwerno中有一个拼写错误,它应该是ownerno.

我试图使用的代码如下所示〜: -

SELECT o.fname, o.lname, telno
FROM privateowner o
WHERE o.ownerno = (SELECT p.ownwerno
           FROM propertyforrent p
           HAVING COUNT(p.ownwerno) = MAX(COUNT(o.ownerno)));
Run Code Online (Sandbox Code Playgroud)

其伴随的错误如下: -

ERROR:  column "p.ownwerno" must appear in the GROUP BY clause or be used in a
aggregate function
LINE 3: WHERE o.ownerno = (SELECT p.ownwerno
                                  ^


********** Error **********

ERROR: column "p.ownwerno" must appear in the GROUP BY clause or be used in an
aggregate function
SQL state: 42803
Character: 78
Run Code Online (Sandbox Code Playgroud)

任何见解都会很精彩.

sql postgresql aggregate

3
推荐指数
1
解决办法
3537
查看次数

将聚合对象绑定到原始数​​据帧

我有一个用于聚合的data.frame,它完全由ddplyplyr 完成.现在的目标是编写一个将聚合对象自动绑定到原始数​​据的函数.问题是,可能有多个聚合变量.

以下是仅包含一个聚合变量的示例:

这里有我的数据框:

  M O
1 1 6 
2 2 7 
3 2 4 
4 1 6 
Run Code Online (Sandbox Code Playgroud)

然后ddply我得到"O"的聚合:

TEST <- ddply(.data = DF,
              .variables = c("M"),
              .fun = summarise,
              NEW = sum(O))
Run Code Online (Sandbox Code Playgroud)

结果如下:

  M NEW
1 1  12
2 2  11
Run Code Online (Sandbox Code Playgroud)

我现在要做的是编写一个函数,使我能够将变量" New" 绑定到原始data.frame.

在循环中,它适用于:

for(i in 1:nrow(TEST)) {
  DF$New[DF$M == TEST$M[i]] <- TEST$NEW[i]
  } 

  M O New
1 1 6  12 
2 2 7  11 
3 2 4  11 
4 1 6  12 …
Run Code Online (Sandbox Code Playgroud)

aggregate r

3
推荐指数
1
解决办法
185
查看次数

包含聚合的更新语句在SQL Server中不起作用

我希望有人可以在这里帮助我的语法.我有两个表ansicache..encountersansicache..x_refclaim_Table

encounters表有一encounter列与patacctnumber列中的列匹配x_refclaim_table.

但是,有时patacctnumber可以在x_refclaim_table不同的服务日期(列iar_servicedate)中显示两次.

我想更新encounters表,admitted列的最大值iar_servicedate,其中encounterencounters表= patacctnumberx_refclaim

 update ansicache..ENCOUNTERS 
       set ADMITTED=max(IAR_ServiceDate) 
 from
     (
       ansicache..ENCOUNTERS e (nolock) 
          join 
       ansicache..x_refClaim_table x (nolock)
          on e.ENCOUNTER=x.PatAcctNumber
      )
Run Code Online (Sandbox Code Playgroud)

它仍然失败:

消息157,级别15,状态1,行1聚合可能不会出现在UPDATE语句的集合列表中.

我尝试过做一些其他的事情,比如声明一个ID,却无法让它工作.

sql sql-server aggregate max

3
推荐指数
1
解决办法
6459
查看次数

计算R并保持出现的顺序

假设我使用以下语句生成了一个向量:

x1 <- rep(4:1, sample(1:100,4))
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用以下命令计算出现次数

count(x1)
  x freq
1 1   40
2 2   57
3 3    3
4 4   46
Run Code Online (Sandbox Code Playgroud)

要么

as.data.frame(table(x1))
  x1 Freq
1  1   40
2  2   57
3  3    3
4  4   46
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都不会保留发生的顺序.我想保留发生的顺序,即输出应该是这样的

  x1 Freq
1  4   46
2  3    3
3  2   57
4  1   40
Run Code Online (Sandbox Code Playgroud)

最干净的方法是什么?另外,有没有办法强制执行特定订单?

aggregate r

3
推荐指数
1
解决办法
176
查看次数

如何为另一个R中的每个唯一值对一列中的值进行分组?

这是一个基本问题,但我已经坚持了很长一段时间.我正在尝试对ColumnB中的值进行分组,但只在ColumnA中的每个值中进行分组.

初始数据框将类似于:

ColumnA = c(1,1,1,2,2,2)
ColumnB = c("f","g","g","f","f","h")
df <- data.frame(ColumnA,ColumnB)
Run Code Online (Sandbox Code Playgroud)
ColumnA    ColumnB
    1         f
    1         g
    1         g
    2         f
    2         f
    2         h
Run Code Online (Sandbox Code Playgroud)

结果将是:

ColumnA    ColumnB
    1         f
    1         g
    2         f
    2         h
Run Code Online (Sandbox Code Playgroud)

(我尝试使用的方法之一是dplyr使用:group_by(df, ColumnB),但尝试不成功.)

aggregate r

3
推荐指数
1
解决办法
1966
查看次数

aggregate + mean返回错误的结果

使用R,我即将计算分组方法aggregate(..., mean).然而,平均回报是错误的.

testdata <-read.table(text="
a  b    c   d   year
2   10  1   NA  1998
1   7   NA  NA  1998
4   6   NA  NA  1998
2   2   NA  NA  1998
4   3   2   1   1998
2   6   NA  NA  1998
3   NA  NA  NA  1998
2   7   NA  3   1998
1   8   NA  4   1998
2   7   2   5   1998
1   NA  NA  4   1998
2   5   NA  6   1998
2   4   NA  NA  1998
3   11  2   7 …
Run Code Online (Sandbox Code Playgroud)

aggregate r mean

3
推荐指数
1
解决办法
2118
查看次数

标签 统计

aggregate ×10

r ×5

sql ×4

postgresql ×2

count ×1

django ×1

django-queryset ×1

max ×1

mean ×1

select ×1

sql-server ×1