标签: aggregate-functions

MySQL:带有LEFT JOIN的GROUP_CONCAT

我遇到了MySQL的"GROUP_CONCAT"功能问题.我将使用一个简单的帮助台数据库来说明我的问题:

CREATE TABLE Tickets (
 id INTEGER NOT NULL PRIMARY KEY,
 requester_name VARCHAR(255) NOT NULL,
 description TEXT NOT NULL);

CREATE TABLE Solutions (
 id INTEGER NOT NULL PRIMARY KEY,
 ticket_id INTEGER NOT NULL,
 technician_name VARCHAR(255) NOT NULL,
 solution TEXT NOT NULL,
 FOREIGN KEY (ticket_id) REFERENCES Tickets.id);

INSERT INTO Tickets VALUES(1, 'John Doe', 'My computer is not booting.');
INSERT INTO Tickets VALUES(2, 'Jane Doe', 'My browser keeps crashing.');
INSERT INTO Solutions VALUES(1, 1, 'Technician A', 'I tried to solve this but …
Run Code Online (Sandbox Code Playgroud)

mysql sql join aggregate-functions group-concat

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

如何使用Oracle的LISTAGG功能和独特的过滤器?

我有这样一张桌子:

group_id  name  
--------  ----
1         David
1         John
1         Alan
1         David
2         Julie
2         Charles
Run Code Online (Sandbox Code Playgroud)

我想要以下结果:

group_id  names
--------  -----
1         'Alan, David, John'
2         'Charles, Julie'
Run Code Online (Sandbox Code Playgroud)

我可以使用以下查询:

select group_id, 
       listagg(name, ',') within group (order by name) as names
from demotable
group by group_id 
Run Code Online (Sandbox Code Playgroud)

为了得到这个(非常相似的结果):

group_id  names
--------  -----
1         'Alan, David, David, John'
2         'Charles, Julie'
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以通过LISTAGG呼叫中的唯一性过滤名称?

oracle group-by aggregate-functions oracle11g

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

SQL Server中的标量,表值和聚合函数之间的区别?

SQL Server中的标量值,表值和聚合函数有什么区别?从查询中调用它们需要一种不同的方法,还是以同样的方式调用它们?

t-sql sql-server sqlclr function aggregate-functions

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

在WHERE子句中使用mysql SUM()

假设我有这张桌子

id | cash 
1    200
2    301
3    101
4    700
Run Code Online (Sandbox Code Playgroud)

我想要返回所有先前现金总和大于某个值的第一行:

因此,例如,如果我想要返回所有先前现金总和大于500的第一行,则应返回第3行

我如何使用mysql语句执行此操作?

使用WHERE SUM(cash) > 500 不起作用

mysql aggregate-functions having-clause

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

如何避免错误"WHERE中不允许聚合函数"

这个sql代码抛出一个

WHERE中不允许使用聚合函数

SELECT o.ID ,  count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID 
WHERE count(p.CAT) > 3
GROUP BY o.ID;
Run Code Online (Sandbox Code Playgroud)

我怎样才能避免这个错误?

mysql sql aggregate-functions

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

mysql计数组由

我有这张桌子:

Movies (ID, Genre)
Run Code Online (Sandbox Code Playgroud)

电影可以有多种类型,因此ID不是特定于类型,它是多对多的关系.我想要一个查询来查找恰好有4种类型的电影总数.我当前的查询是

  SELECT COUNT(*) 
    FROM Movies 
GROUP BY ID 
  HAVING COUNT(Genre) = 4
Run Code Online (Sandbox Code Playgroud)

但是,这会返回一个4的列表而不是总和.如何获得总和而不是列表count(*)

mysql sql group-by aggregate-functions

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

如何将具有相同列值的mysql行组合成一行?

我有两个表,关键字和数据.

表关键字有2列(id,关键字),表数据有3列(id [keywords.id的外键],名称,值).

我正在使用此查询:

SELECT k.id, d.value, d.name
FROM keywords AS k
INNER JOIN data as d ON k.id = d.id
Run Code Online (Sandbox Code Playgroud)

它返回类似于:

1 123 name1
1 456 name2
2 943 name1
3 542 name1
3 532 name2
3 682 name3
Run Code Online (Sandbox Code Playgroud)

每个id可以具有0到3的值(将来可能更多).

如何在同一行中检索具有相同ID的所有行?

喜欢

1 123 456
2 943
3 542 532 682
Run Code Online (Sandbox Code Playgroud)

我想这样做是因为我希望能够对值进行排序.

mysql sql aggregate-functions

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

选择具有MAX值的记录

在SQL Server 2008中,我有一个表CUSTOMERS,它有两列:

身份证,资产负债表

如何以最有效的方式编写选择具有最大余额的客户ID的查询?

选项1:ORDER BY BALANCE and SELECT TOP(1)- >成本太高.

选项2:首先Get MAX amount,然后进行另一个查询,使用where clause- >成本太多而且看起来不可靠.

t-sql aggregate-functions

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

如何在Spark SQL中定义和使用用户定义的聚合函数?

我知道如何在Spark SQL中编写UDF:

def belowThreshold(power: Int): Boolean = {
        return power < -40
      }

sqlContext.udf.register("belowThreshold", belowThreshold _)
Run Code Online (Sandbox Code Playgroud)

我可以做类似的定义聚合函数吗?这是怎么做到的?

对于上下文,我想运行以下SQL查询:

val aggDF = sqlContext.sql("""SELECT span, belowThreshold(opticalReceivePower), timestamp
                                    FROM ifDF
                                    WHERE opticalReceivePower IS NOT null
                                    GROUP BY span, timestamp
                                    ORDER BY span""")
Run Code Online (Sandbox Code Playgroud)

它应该返回类似的东西

Row(span1, false, T0)

我希望聚合函数告诉我opticalReceivePower在定义的组中是否有任何值span,timestamp哪些值低于阈值.我是否需要以不同的方式将UDAF写入上面粘贴的UDF?

scala aggregate-functions user-defined-functions apache-spark apache-spark-sql

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

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万
查看次数