A have for example following data:
a 10
b 5
c 15
d 2
a 3
b 6
c 8
d 10
How to sum a
and b
together and c
and d
to get something like this?
ab 24
cd 35
A have for example following data:
a 10
b 5
c 15
d 2
a 3
b 6
c 8
d 10
How to sum a
and b
together and c
and d
to get something like this?
ab 24
cd 35
select sum(case when col1 in ('a','b') then col2 end) as ab_sum,
sum(case when col1 in ('c','d') then col2 end) as cd_sum
from your_table
this could also help you,
DECLARE @TAB TABLE(NAME VARCHAR(1), MARK INT)
INSERT INTO @TAB VALUES
('A',10),
('B', 5),
('C',15),
('D', 2),
('A', 3),
('B', 6),
('C', 8),
('D',10)
SELECT NAME,SUM(MARK)
FROM (
SELECT CASE WHEN NAME IN ('A','B') THEN 'AB' WHEN NAME IN ('C','D') THEN 'CD' END NAME,
MARK
FROM @TAB A
) LU
GROUP BY NAME
Try:
select
'ab' col1,
SUM(col2) col2
from tbl
where col1 in ('a', 'b')
union
select
'cd',
SUM(col2)
from tbl
where col1 in ('c', 'd')
looks like a good opportunity for between to me:
| CODE_RANGE | RANGE_VALUE |
|------------|-------------|
| ab | 24 |
| cd | 35 |
SELECT
CASE
WHEN code BETWEEN 'a' AND 'b' THEN 'ab'
WHEN code BETWEEN 'c' AND 'd' THEN 'cd' END AS code_range
, SUM(value) AS range_value
FROM Table1
GROUP BY
CASE
WHEN code BETWEEN 'a' AND 'b' THEN 'ab'
WHEN code BETWEEN 'c' AND 'd' THEN 'cd' END
SELECT
(CASE col1
WHEN 'a' THEN 'ab'
WHEN 'b' THEN 'ab'
WHEN 'c' THEN 'cd'
WHEN 'd' THEN 'cd'
END) x,
SUM(col2) y
FROM tbl
GROUP BY (CASE col1
WHEN 'a' THEN 'ab'
WHEN 'b' THEN 'ab'
WHEN 'c' THEN 'cd'
WHEN 'd' THEN 'cd'
END)