Рассчитать возраст на основе DOB и вернуть строки в возрасте от 20 до 30 лет в MySQL - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь рассчитать возраст на основе DOB, хранящейся в пользовательской таблице, и получить строку результатов на основе возраста.

например, я хочу пользователей, чей возраст от 20 до 30 лет.

Я пробовал использовать подзапрос, но не повезло.

Пожалуйста, предложите.

SELECT
id
FROM
personal_info
WHERE
(
SELECT
    ROUND(
        (
            DATEDIFF(
                CURRENT_DATE,
                STR_TO_DATE(dob, '%Y-%m-%d')
            ) / 365
        )
    ) AS age
FROM
    personal_info
) BETWEEN 20 AND 30

1 Ответ

0 голосов
/ 10 сентября 2018

Попробуйте запрос ниже:

SELECT
id
FROM
personal_info
WHERe 
    ROUND
        (
            DATEDIFF(
                CURRENT_DATE,
                STR_TO_DATE(dob, '%Y-m%-%d')
            ) / 365
        ) BETWEEN 20 AND 30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...