Какой запрос мне надо сделать чтобы найти людей в промежутке от 20-50 лет?
20 и 50 это переменные
Я начал делать, но на половине остановился тк потерял логику
SELECT
*
FROM
`account`
WHERE
`data_bird` <= (`data_bird` - INTERVAL 50 YEAR) AND
`data_bird` >= (`data_bird` - INTERVAL 20 YEAR)
Спустя 28 минут, 15 секунд (12.07.2011 - 13:06) maximka787 написал(а):
Вот сделал, только нельзя ли как то уменьшить его?
SELECT
`nic`,
`birth`,
(YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) AS age
FROM
`account`
WHERE
(YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) > 20 AND
(YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) < 50
;
Спустя 2 часа, 51 минута, 37 секунд (12.07.2011 - 15:58) Dizzy написал(а):
SELECT `nic`, `birth` FROM `account` WHERE `birth` < 50 AND `birth` > 20;
Спустя 7 минут, 56 секунд (12.07.2011 - 16:06) kristall написал(а):
WHERE (YEAR(CURRENT_DATE)-YEAR(birth)) BETWEEN 20 AND 50
_____________
..Работает - не трогай!