我想按兩列分組。如果b不爲空,並且如果b爲空,我想得到c的總數a和b 我寫了這個查詢,但它在b爲空的情況下不起作用!查詢的結果是所有的行b是不是空group by hibernate中的兩列有條件
select m.s.a ,
case when (m.l is not null)
then m.l.code end , coalesce(sum(m.c),0 )
from material m where m.Item.id =:itemId
group by m.s.a, case
when (m.l is not null)
then m.l.code end
+--+----+-------+---+
| | s | l | c |
+--+----+-------+---+
| | a | d | 1 |
| | a | d | 9 |
| | a | e | 3 |
| | a | f | 4 |
| | c | g | 5 |
| | c | g | 6 |
| | c | h | 20 |
| | d | null | 7 |
| | d | null | 8 |
結果預計:
+--+----+-------+---+
| | s | l | c |
+--+----+-------+---+
| | a | d | 10 |
| | a | e | 3 |
| | a | f | 4 |
| | c | g | 11 |
| | c | h | 20 |
| | d | | 15 |
你的問題並沒有多大意義。請在問題中添加一些示例數據和預期輸出以進行說明。 – GurV
@GurwinderSingh在編輯我的文章,並添加示例數據和預期的輸出 – faraa