2016-04-05 4 views
0

У меня есть таблица с данными, похожими на следующее:SQL-запроса получить подсчета и процент дисперсии на основе месяца

column1   column2 
Landing Permit  4/5/2015 
Landing Permit  4/6/2015 
Landing Permit  4/7/2015 
Landing Permit  4/5/2014 
Landing Permit  4/6/2014 
Landing Permit  4/7/2014 
Message   4/5/2015 
Message   4/6/2015 
Message   4/7/2015 
Message   4/5/2014 
Message   4/6/2014 
Message   4/7/2014 

мне нужно вычислить дисперсию на основе 15 и 14 отличия от Столбец2. Я хочу получить вывод, аналогичный следующему:

 May     June     July 
       output/variance  output/variance  output/variance 
Landing Permit 1/some%    1/some%    1/some%  
Message  1/some%    1/some%    1/some% 

Как я мог бы это сделать?

+1

Просьба предоставить нам минимальный, полный и проверяемый пример [MVCE] (http://stackoverflow.com/help/mcve). Какие запросы вы пробовали? – wiredniko

+0

В чем вопрос? – WillardSolutions

+0

SELECT column1, COUNT (*) как номер продукта, ROUND (100.0 * COUNT (column1)/(SELECT 100.0 * count (столбец1) FROM table), 3) в процентах FROM table GROUP BY column1 это возвращает меня дисперсию на основе clolimn1, но мне нужно получить месяц с разницей в году –

ответ

0

Я бы первым совпасть столбцы с автообъединение как этот

SELECT 
    a.column1 
    , a.column2 
    , b.column2 
FROM 
    Test a 
JOIN 
    Test b 
ON 
    YEAR(a.column2) = YEAR(b.column2)+1 
AND MONTH(a.column2) = MONTH(b.column2) 
AND DAY(a.column2) = DAY(b.column2) 
AND a.column1 = b.column2 
WHERE 
    YEAR(a.column2) = 2014 

После этого вы можете просто выбрать то, что вы хотите, и делать свои расчеты с чем-то похожее на это, как КТР.

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