2011-12-14 2 views
0

У меня есть таблица в моей базе данных со столбцами:Множественные результаты одной таблицы в MySQL

Lead_id INT(11) PRIMARY KEY NOT NULL 
user_id INT(11) 
lead_status ENUM('active','win','loss') 

ниже данных образца:

Lead_id  user_id  lead_status 
    1   45   active 
    2   31   win 
    3   11   loss 
    4   45   win 
    5   11   active 
    6   45   loss 

мне нужно запросить таблицу выше, чтобы получить следующий вывод :

user_id  total_leads  active  win  loss 
    45    3    1  1  1 
    31    1    0  1  0 
    11    2    1  0  1 

Я намерен графически представлять данные в выходной таблице. Любая помощь будет оценена по достоинству.

+0

То, что вы пытаетесь сделать, это выглядит это табуляция. –

ответ

3

Попробуйте это:

SELECT 
    user_id, 
    COUNT(*) AS total_leads, 
    SUM(lead_status = 'active') AS active, 
    SUM(lead_status = 'win') AS win, 
    SUM(lead_status = 'loss') AS loss 
FROM your_table 
GROUP BY user_id 
+0

Thanks Mark, элегантное и простое решение. Оценил. – gabeno

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