2015-07-16 2 views
0

У меня есть этот SQL-запрос, который возвращает DateDiff числа неделиMySql COUNT DATEDIFF значения в комплексной функции

SELECT 
    ROUND(DATEDIFF((
    SELECT t.date FROM actividad_newsletters t WHERE t.id_newsletter = t1.id_newsletter AND t1.id_desc = 3 AND (t.id_desc = 5 OR t.id_desc = 7) AND t.date > t1.date ORDER BY t.date LIMIT 1), 
    MIN(t1.date) 
)/7, 0) as weeks 
    FROM actividad_newsletters t1 
    INNER JOIN newsletter t2 ON t1.id_newsletter = t2.id 
GROUP BY id_newsletter 
HAVING weeks IS NOT NULL 

И получает эти результаты:

0 
0 
0 
0 
0 
1 
1 
1 
1 
1 
1 
2 
2 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
3 
. 
. 
. 
117 
117 
118 
119 
119 

я хочу сделать подсчет для такого же результата, как :

total week 
----- ---- 
5  0 
6  1 
2  2 
11 3 
.  . 
.  . 
.  . 
2  117 
1  118 
2  119 

Как это сделать? Я попытался с COUNT (недели), но не работает

Благодаря передовой

+0

вы можете показать, что вы пытались – PaulF

ответ

0

РЕШИТЬ:

SELECT weeks, COUNT(weeks) FROM (
SELECT 
    ROUND(DATEDIFF((
    SELECT t.date FROM actividad_newsletters t WHERE t.id_newsletter = t1.id_newsletter AND t1.id_desc = 3 AND (t.id_desc = 5 OR t.id_desc = 7) AND t.date > t1.date ORDER BY t.date LIMIT 1), 
    MIN(t1.date) 
)/7, 0) as weeks 
    FROM actividad_newsletters t1 
    INNER JOIN newsletter t2 ON t1.id_newsletter = t2.id 
GROUP BY id_newsletter 
HAVING weeks IS NOT NULL) AS count GROUP BY weeks 
+0

Может быть полезно добавить объяснение, почему вы будете использовать 'count' для достижения этого –

1

Try This

Select weeks, count(*) from (SELECT 
    ROUND(DATEDIFF((
    SELECT t.date FROM actividad_newsletters t WHERE t.id_newsletter = t1.id_newsletter AND t1.id_desc = 3 AND (t.id_desc = 5 OR t.id_desc = 7) AND t.date > t1.date ORDER BY t.date LIMIT 1), 
    MIN(t1.date) 
)/7, 0) as weeks 
    FROM actividad_newsletters t1 
    INNER JOIN newsletter t2 ON t1.id_newsletter = t2.id 
GROUP BY id_newsletter 
HAVING weeks IS NOT NULL) as t group by weeks 
+0

Большое спасибо guy :) – Javi

+0

Может быть, стоит добавить объяснение, почему вы использовали бы 'count' для достижения этого –

+0

Хорошо для make stats gra phs, сортировка по неделям, поэтому мне нужно количество кол-во в неделю – Javi

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