Как найти пользователей с возрастом более 20 лет и до 25 лет базы данных php

0

У меня проблема с получением базы данных с возрастом более и менее, чем значение, которое я выбираю

В настоящее время база данных для образца возрастного формата "1996-07-30"

И я хочу получить данные пользователя с возрастом фильтрации более 20 и менее 25 лет

Я пробовал некоторые запросы, и он не работает, и вот пример кода, который я создал:

SELECT *
     , TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) AS age 
  FROM tb_member 
 WHERE TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) >= 20 
   AND (TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) <= 25 
 ORDER 
    BY nama
 LIMIT 0,10

и я также попробовал еще один пример:

SELECT *
     , TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) AS age 
   FROM 'tb_member'  
  WHERE tglLahir BETWEEN DATE_SUB(NOW(), INTERVAL 20 YEAR) 
    AND DATE_SUB(date, INTERVAL 30 YEAR)
  ORDER 
     BY nama
  LIMIT 0,10

но все же никаких результатов, есть ли другое решение для решения этой проблемы?

ОБНОВИТЬ

Я решаю свою проблему, я все еще использую этот код:

TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) >= '20' AND 
TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) <= '25'

И работайте отлично, спасибо, что кто-то ответит на мой вопрос, спасибо.

Теги:
date

1 ответ

2
Лучший ответ

Мне очень нравится использовать DATE_SUB() для расчета для этой цели (используйте DATE_SUB для вычитания из NOW(), чтобы получить 20 лет назад, а затем 25 лет назад). В сочетании с BETWEEN вы сможете:

SELECT *, TIMESTAMPDIFF(YEAR, tglLahir, CURDATE()) AS age 
FROM 'tb_member' WHERE 
tglLahir BETWEEN 
DATE_SUB( NOW(), INTERVAL 20 YEAR) AND
DATE_SUB( NOW(), INTERVAL 25 YEAR)
ORDER BY 'nama' LIMIT 0,10

Второй пример запроса в вашем вопросе близок, но вы используете date во втором DATE_SUB() который, я думаю, может быть виновником вашей проблемы с этим подходом.

  • 0
    спасибо за ответ, но когда я изменю номер года с 20 на 23, но пользователь с возрастом 21 все еще существует, как это может произойти?
  • 0
    Выберите 2 от 3 до 1
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню