2012-04-18 3 views
0

Я хочу получить 2 счета coulmns и сделать их итоговым как новый столбец. Как я могу это сделать?Добавление Mysql и добавление их в качестве нового столбца

Я написал этот запрос, но это возвращает неправильный итог.

SELECT count(case when `status`='1' then 1 else 0 end) AS HOT, 
count(case when `status`='5' then 1 end) 
AS Special_Case,count(case when 1=1 then 1 end) AS TOTAL 
FROM `tbl_customer_conversation` group by 
date(`dt_added`),user_id 
+0

Как вы относитесь к 'их итогу как новый столбец'? – Starx

+0

общее количество чисел, выбранных в HOT и Special_Case – Thompson

+0

'case when 1 = 1 then 1 end' всегда будет возвращать один .. – Starx

ответ

2

COUNT будет только дать время записи соответствует критериям, которые в запросе всегда будет возвращать 1. Поскольку значения могут быть либо 1 или 0. Так count(1) также 1 и count(0) также 1.

AS, вы хотите, чтобы общее количество HOT корпусов и SPECIAL_CASE вы должны использовать SUM.

SELECT 
    SUM(case when `status`='1' then 1 else 0 end) AS HOT, 
    SUM(case when `status`='5' then 1 end) AS Special_Case, 
    SUM(case when `status` = '1' or `status` = '5' then 1 end) AS TOTAL 
FROM `tbl_customer_conversation` 
group by date(`dt_added`),user_id 
+0

phpmyadmin говорит« # 1305 - ФУНКЦИЯ lmsapi.SUM не существует » – Thompson

+0

@MohanSinfh, SUM не допускает пробелов. Я исправил запрос, попробовав его снова. – Starx

+0

Если бы вы объяснили ему, зачем использовать 'SUM', а не' COUNT' – fancyPants

Смежные вопросы