标签: aggregate

SQL distinct和count

我有一个查询,我想获得不同的日期,与这些日期相关的电话号码,以及每个日期的电话号码计数.

例如,我有一个包含日期和电话号码的数据库,我想要结果

9/2005      5554446666    3
9/2005      4445556666    1
10/2005     1112223333    1
11/2005     2223334444    2
Run Code Online (Sandbox Code Playgroud)

我可以通过此查询获取日期和计数:

SELECT DISTINCT date, count(phone) AS count
FROM calls
GROUP BY date
Run Code Online (Sandbox Code Playgroud)

我似乎无法得到的是"计数"正在计算的电话号码.我想我需要某种聚合函数来获取唯一值列表的单个实例,但First()和其他一些只抛出SQL错误.我需要子查询吗?

sql aggregate count distinct

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

pandas的转换不能对groupby输出进行排序

另一个熊猫问题.

阅读Wes Mckinney关于数据分析和熊猫的优秀书籍,我遇到了以下我认为应该起作用的事情:

假设我有一些关于提示的信息.

In [119]:

tips.head()
Out[119]:
total_bill  tip      sex     smoker    day   time    size  tip_pct
0    16.99   1.01    Female  False   Sun     Dinner  2   0.059447
1    10.34   1.66    Male    False   Sun     Dinner  3   0.160542
2    21.01   3.50    Male    False   Sun     Dinner  3   0.166587
3    23.68   3.31    Male    False   Sun     Dinner  2   0.139780
4    24.59   3.61    Female  False   Sun     Dinner  4   0.146808
Run Code Online (Sandbox Code Playgroud)

我想知道与总账单有关的五大提示,即分别tip_pct针对吸烟者和非吸烟者.这样可行:

def top(df, n=5, column='tip_pct'): 
    return df.sort_index(by=column)[-n:]

In [101]:

tips.groupby('smoker').apply(top)
Out[101]:
           total_bill   tip sex smoker  day time …
Run Code Online (Sandbox Code Playgroud)

python aggregate pandas

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

聚合scala函数的说明

我还没有理解聚合函数:

例如,拥有:

val x = List(1,2,3,4,5,6)
val y = x.par.aggregate((0, 0))((x, y) => (x._1 + y, x._2 + 1), (x,y) => (x._1 + y._1, x._2 + y._2))
Run Code Online (Sandbox Code Playgroud)

结果将是: (21,6)

好吧,我认为这(x,y) => (x._1 + y._1, x._2 + y._2)是为了并行获得结果,例如它将是(1 + 2,1 + 1),依此类推.

但正是这一部分让我感到困惑:

(x, y) => (x._1 + y, x._2 + 1)
Run Code Online (Sandbox Code Playgroud)

为什么x._1 + y?这x._20

提前致谢.

scala aggregate

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

C ++ 20中的指定初始值设定项

我对c ++ 20功能之一(指定的初始化程序)有疑问(有关此功能的更多信息,请点击此处

#include <iostream>

constexpr unsigned DEFAULT_SALARY {10000};

struct Person
{
    std::string name{};
    std::string surname{};
    unsigned age{};
};

struct Employee : Person
{
    unsigned salary{DEFAULT_SALARY};
};

int main()
{
    std::cout << std::boolalpha << std::is_aggregate_v<Person> << '\n'; // true is printed
    std::cout << std::boolalpha << std::is_aggregate_v<Employee> << '\n'; // true is printed

    Person p{.name{"John"}, .surname{"Wick"}, .age{40}}; // it's ok
    Employee e1{.name{"John"}, .surname{"Wick"}, .age{40}, .salary{50000}}; // doesn't compile, WHY ?

    // For e2 compiler prints a warning "missing initializer …
Run Code Online (Sandbox Code Playgroud)

c++ aggregate designated-initializer c++20

20
推荐指数
2
解决办法
442
查看次数

C#:如何使用Enumerable.Aggregate方法

让我说我有这个截肢Person课:

class Person
{
    public int Age { get; set; }
    public string Country { get; set; }

    public int SOReputation { get; set; }
    public TimeSpan TimeSpentOnSO { get; set; }

    ...
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以分组AgeCountry喜欢这样:

    var groups = aListOfPeople.GroupBy(x => new { x.Country, x.Age });
Run Code Online (Sandbox Code Playgroud)

然后我可以输出所有组的声誉总数如下:

foreach(var g in groups)
    Console.WriteLine("{0}, {1}:{2}", 
        g.Key.Country, 
        g.Key.Age, 
        g.Sum(x => x.SOReputation));
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎样才能得到一笔TimeSpentOnSO房产?该Sum方法在这种情况下不起作用,因为它仅用于int此类.我以为我可以使用该Aggregate方法,但只是认真无法弄清楚如何使用它...我正在尝试各种组合的各种属性和类型,但编译器只是不会识别它.

foreach(var g in groups)
    Console.WriteLine("{0}, {1}:{2}", 
        g.Key.Country, 
        g.Key.Age, …
Run Code Online (Sandbox Code Playgroud)

c# time aggregate

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

SQL group by day,with count

我在SQL Server中有一个如下所示的日志表:

CREATE TABLE [dbo].[RefundProcessLog](
 [LogId] [bigint] IDENTITY(1,1) NOT NULL,
 [LogDate] [datetime] NOT NULL,
 [LogType] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 [RefundId] [int] NULL,
 [RefundTypeId] [smallint] NULL,
 [LogMessage] [varchar](1000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 [LoggedBy] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
 CONSTRAINT [PK_RefundProcessLog] PRIMARY KEY CLUSTERED 
(
 [LogId] ASC
) ON [PRIMARY]
) ON [PRIMARY]

GO
Run Code Online (Sandbox Code Playgroud)

我想要的是一个结果列表,表示每天处理多少不同的退款,抛出任何NULL.

我需要编写什么SQL来生成这些结果?

sql sql-server group-by aggregate

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

如何使用连接正确计算SUM?

所以我试图计算零件数量,任务数量,每个工作的数量以及制造每项工作所花费的时间,但我得到了一些时髦的结果.如果我运行这个:

SELECT
  j.id, 
    mf.special_instructions,
  count(distinct p.id) as number_of_different_parts,
  count(distinct t.id) as number_of_tasks,
  SUM(distinct j.quantity) as number_of_assemblies,
  SUM(l.time_elapsed) as time_elapsed

FROM
  sugarcrm2.mf_job mf
INNER JOIN ramses.jobs j on
  mf.id = j.mf_job_id
INNER JOIN ramses.parts p on
  j.id = p.job_id
INNER JOIN ramses.tasks t on
  p.id = t.part_id
INNER JOIN ramses.batch_log l on
  t.batch_id = l.batch_id

WHERE 
  mf.job_description                LIKE "%BACKBLAZE%" OR
  mf.customer_name                  LIKE "%BACKBLAZE%" OR
  mf.customer_ref                   LIKE "%BACKBLAZE%" OR
  mf.technical_company_name LIKE "%BACKBLAZE%" OR
  mf.description                        LIKE "%BACKBLAZE%" OR
  mf.name                                   LIKE "%BACKBLAZE%" OR
  mf.enclosure_style …
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by aggregate sum

19
推荐指数
1
解决办法
602
查看次数

将Dictionary <string,string>转换为单个聚合字符串表示的最佳方法?

如何将键值对的字典转换为单个字符串?你能用LINQ聚合做到这一点吗?我已经看到使用字符串列表执行此操作的示例,但不是字典.

输入:

Dictionary<string, string> map = new Dictionary<string, string> { 
          {"A", "Alpha"},  
          {"B", "Beta"}, 
          {"G", "Gamma"}
};
Run Code Online (Sandbox Code Playgroud)

输出:

  string result = "A:Alpha, B:Beta, G:Gamma";
Run Code Online (Sandbox Code Playgroud)

c# linq aggregate .net-4.0

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

按多列分组并汇总其他多列

我有一个包含大约200列的数据框,其中我想要将表格分组前10个左右,这些是因子并将其余列相加.

我有我要分组的所有列名列表以及我想要聚合的所有列的列表.

我正在寻找的输出格式需要是相同数量的cols的相同数据帧,只是组合在一起.

有没有使用包解决方案data.table,plyr或任何其他?

grouping aggregate r plyr data.table

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

18
推荐指数
2
解决办法
8371
查看次数