составляя общую сумму двух столбцов - PullRequest
2 голосов
/ 13 марта 2010

У меня есть стол (яблоки), содержащий:

cid  date_am date_pm 
----------------------
1      1       1
2      2       1
3      1       3  
1      1       2

Ранее я задал (плохо) вопрос о том, как я буду оценивать клиентов в порядке их числа (1). Решение было (на основе одного столбца):

SELECT cid, sum( date_pm ) AS No_of_ones
FROM apples
WHERE date_am =1
GROUP BY cid
ORDER BY no_of_ones DESC 

Это прекрасно работает для одного столбца, но как бы я сделал то же самое для суммы двух столбцов. то есть.

SELECT cid, sum( date_pm ) AS No_of_ones
FROM apples
WHERE date_am =1
add to
SELECT cid, sum( date_am ) AS No_of_ones
FROM apples
WHERE date_pm =1
GROUP by cid
ORDER by no_of_ones(added)

надеюсь, что мне удалось прояснить это достаточно, чтобы вы могли помочь - спасибо

Ответы [ 2 ]

1 голос
/ 13 марта 2010
select cid, sum(case when date_pm = 1 then 1 else 0 end) + sum(case when date_am = 1 then 1 else 0 end)
from apples
group by cid
0 голосов
/ 13 марта 2010
select cid, sum(addone) as total from 
  (select cid, 1 as addone
   from apples
    where date_pm = 1 group by cid
    union
    select cid, 1 as addone
    from apples
    where date_am = 1 group by cid) 
group by cid order by total DESC

OR

select cid, sum(case when date_am=1 then 1 else 0 end) 
            + sum(case when date_pm=1 then 1 else 0 end) as total 
from apples 
group by CID 
order by total DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...