Как мне отсортировать MySQL по возрасту от даты рождения - PullRequest
1 голос
/ 08 июля 2011

Скажем, моя структура базы данных MySQL примерно такая.

ID     Name    BirthdayDate 
------------------------------------- 
1      John    1974-05-21
2      Peter   1977-11-10
3      Chang   1981-04-01
..................
..................
100    Smith   1945-03-21

Как сделать оператор SQL для примера сортировки по возрасту

40 > 45 above
35 <= below or equal 35

Дайте мне знать

Ответы [ 2 ]

1 голос
/ 08 июля 2011
ORDER BY IF(BirthdayDate < DATE_SUB(NOW(), INTERVAL 35 YEARS), 0, 1),
         BirthdayDate 

Сначала будут показаны те, чей возраст> 35 лет, после - другие

0 голосов
/ 09 декабря 2016

попробуйте проще

SELECT * FROM YOUR_TABLE_NAME 
WHERE TIMESTAMPDIFF(YEAR,BirthdayDate, CURDATE()) > 45

ИЛИ

SELECT * FROM YOUR_TABLE_NAME 
WHERE TIMESTAMPDIFF(YEAR, BirthdayDate, CURDATE()) BETWEEN 18 AND 45
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...