Мені потрібно отримати останні 100 років, використовуючи запит mysql без використання збережених функцій або таблиць temp.
Очікуваний результат:
- якщо поточний рік 2014 року, потрібно вибрати 1914,1915,1916 ... 2014 року
- якщо поточний рік 2015 року, потрібно вибрати 1915,1916,1917 ... 2015 року
Відповіді:
2 для відповіді № 1Завдання полягає у створенні цілих чисел. Коли у вас є 100 цілих чисел, все інше легко. Ось один спосіб:
select year(now()) - (d1.n*10 + d2.n) as yr
from (select 1 as n union all select 2 union all select 3 union all select 4 union all select 5 union all
select 6 union all select 7 union all select 8 union all select 9 union all select 0
) d1 cross join
(select 1 as n union all select 2 union all select 3 union all select 4 union all select 5 union all
select 6 union all select 7 union all select 8 union all select 9 union all select 0
) d2
order by yr;