标签: coalesce

在MSSQL 2008中合并行,

我正在尝试确定MSSQL 2008中的最佳方法.

这是我的示例数据

TransDate  Id     Active
-------------------------
1/18 1pm   5      1    
1/18 2pm   5      0    
1/18 3pm   5      Null    
1/18 4pm   5      1    
1/18 5pm   5      0    
1/18 6pm   5      Null
Run Code Online (Sandbox Code Playgroud)

如果按Id分组并由TransDate排序,我想要活动列的最后一个非空值和TransDate的MAX

SELECT MAX(TransDate) AS TransDate, 
       Id,
       --LASTNonNull(Active) AS Active
Run Code Online (Sandbox Code Playgroud)

结果如下:

TransDate  Id  Active
---------------------    
1/18 6pm   5   0
Run Code Online (Sandbox Code Playgroud)

它就像一个Coalesce但是在行上,而不是两个值/列.

还有许多其他列也会应用这种类似的方法,所以我真的不想为每个列进行单独的连接.

有任何想法吗?

sql t-sql sql-server coalesce sql-server-2008

4
推荐指数
1
解决办法
4411
查看次数

从SQL中选择多行到子查询中的一行

我有这样的查询:

DECLARE @razem VARCHAR(MAX);

SELECT  Ordering.orderID , 
        Document.number, 
        (User_info.name  +' '+ User_info.surname),   
        Ordering.dateStart, 
        Ordering.dateEnd ,   
        (
            select   COALESCE(' ',@razem)+sell_type.name as r  
            from    Ordering_sell_type, Sell_type 
            where   orderID = Ordering.orderID and 
                    Ordering_sell_type.sell_typeID = sell_type.sell_typeID
        ) podz
FROM    Ordering, User_info, Product_Document, Document, Document_type   
WHERE   Ordering.orderID = Product_document.orderID  
        AND Document.documentID = Document_type.documentID  
        AND Document.documentID = Product_document.documentID  
        AND  Ordering.userID = User_info.userID   
        AND Ordering.isClosed = 1 AND Document_type.typeID = 1   
GROUP   BY  Document.isitfiscal, Document.refDocID, 
            Document.number, Ordering.orderID, User_info.name, 
            User_info.surname, Ordering.dateStart, 
            Ordering.dateEnd , Ordering.isCLosed  
ORDER   BY Ordering.dateEnd
Run Code Online (Sandbox Code Playgroud)

在COALESCE函数中,我想获得所选订单的所有付款类型 …

sql sql-server coalesce

4
推荐指数
1
解决办法
8278
查看次数

错误:COALESCE类型在PostgreSQL中输入bytea和字符

name1用Spring + Hibernate 编写了一个postgresql并从我的java代码中传递参数.

SELECT * FROM Test
WHERE name = COALESCE(:name1, name2)
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个错误

ERROR: COALESCE types bytea and character varying
Run Code Online (Sandbox Code Playgroud)

name1我的java代码中的String 类型.

我试图解决这个问题

COALESCE(convert_from(:name1,'UTF8'), name2)
Run Code Online (Sandbox Code Playgroud)

它将在Eclipse中通过JUNIT Test.但是,当我在Tomcat上运行它时,我会收到错误

Error:convert_from(character varying, unknown) not exist
Run Code Online (Sandbox Code Playgroud)

怎么解决?谢谢.

java postgresql hibernate coalesce

4
推荐指数
1
解决办法
9331
查看次数

结合CONCAT()和COALESCE()在MySQL中生成JSON

我正在从函数构建小JSON块,我需要过滤空值,同时引用像这样的非空值(MySQL 5.0,所以没有内置的JSON函数):

COALESCE(CONCAT('[', 
    group_concat(
        CONCAT('{ "key": "', REPLACE(a.val, '"', '\\"'), '"}') 
        SEPARATOR ', ')
, ']'), 'null') AS jsonval
Run Code Online (Sandbox Code Playgroud)

输出类似这样的东西(这是一个嵌入完整JSON块的值):

  • 值: [{"key": "foo"}, {"key": "bar"}, {"key": "baz"}]
  • 没有值(NULL): null
  • 用空字符串: [{"key": ""}]

对于每个a.val我想在我的列表中添加一个条目,但null如果没有找到值,则使用字符串而不是完整列表.它工作得很好,但我需要NULL在结果JSON中处理空字符串以及值为null.

REPLACE(),CONCAT()并且COALESCE()对于空值一起工作得非常好,但是没有检测到空字符串,我如何以相同的方式处理NULL和空字符串?

我已经看到了关于条带化空值的这个问题,我正在寻找相反的问题.

mysql null json coalesce

4
推荐指数
1
解决办法
1222
查看次数

在同一个声明中合并和 Concat,Postgres

我试图将个人的名字和姓氏连接在一起,但在存在空值时合并团队名称。不幸的是,我的语法返回一个空格,因此合并不会将其识别为空值。我可以做什么来纠正这个问题?

我目前使用的语法:

coalesce((Concat(first_name,' ',last_name)),team_name)
Run Code Online (Sandbox Code Playgroud)

sql postgresql null concatenation coalesce

4
推荐指数
1
解决办法
4604
查看次数

“任何值”的 PySpark 聚合函数

我有一个带有A字段的 PySpark 数据框,几个B依赖于A( A->B) 的C字段和我想按每个 A 聚合的字段。例如:

A | B | C
----------
A | 1 | 6
A | 1 | 7
B | 2 | 8
B | 2 | 4
Run Code Online (Sandbox Code Playgroud)

我希望按 分组A,呈现任何一个B并在 上运行聚合(比方说SUMC

预期的结果是:

A | B | C
----------
A | 1 | 13
B | 2 | 12
Run Code Online (Sandbox Code Playgroud)

SQL明智我会这样做:

SELECT A, COALESCE(B) as B, SUM(C) as C
FROM …
Run Code Online (Sandbox Code Playgroud)

python coalesce apache-spark apache-spark-sql pyspark

4
推荐指数
1
解决办法
7073
查看次数

Scala使用coalesce preappend方法扩展List类

我试图创建一个新的运算符:?在列表上,其操作与::相同,但如果值为null,则返回原始列表.我写了以下内容,但很快就知道我不知道自己在做什么......

object ImplicitList {
   implicit def extendIterator[T](i : List[T]) = new ListExtension(i)

 }

 class ListExtension[T <: Any](i : List[T]) {
  def :?[B >: T] (x: B): List[B] = if (x != null) x :: i else i
 }


 final case class :?[B](private val hd: B, private val tl: ListExtension[B]) extends ListExtension[B](tl.:?(hd))
Run Code Online (Sandbox Code Playgroud)

scala list coalesce extending

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

SQL - 使用Group By时逗号分隔数据

我正在使用SQL Server和TSQL:

我想要做的是在另一列上使用group by时在一列上使用逗号分隔值.见下面的数据示例.

col1 --- col2

1121     abc
1123     aee
1335     afg
1121     def
1121     abc

我想在"col1"上分组并计算记录数,但如果数据不同,我还想在col2上连接.例如,使用值"1121"作为参考,请参阅下面的数据输出.

qty --- col1 --- col2

3       1121     abc, def
1       1123     aee
1       1335     afg

我想过可能使用COALESCE,但我不确定如何在另一列上使用group by时实现它.

任何帮助将不胜感激.

sql t-sql concatenation coalesce

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

COALESCE接受了多少参数?

我不能在SO中找到它,并认为它可能值得在此找到它,因为oracle文档没有指定它.

http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions023.htm

sql oracle coalesce

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

合并触发是否以相反的顺序访问内存?

假设我有几个线程,他们访问地址A + 0,A + 4,A + 8,A + 12(每个访问=下一个线程)的内存.这种访问是合并的,对吗?

但是,如果我以相反的顺序访问相同的内存,则意味着:

thread 0 -> A+12
thread 1 -> A+8
thread 2 -> A+4
thread 3 -> A+0
Run Code Online (Sandbox Code Playgroud)

这里的合并也会触发吗?

memory cuda coalesce

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