У меня есть таблица с датой рождения пользователей моей платформы, и мне нужно отсортировать их по возрастным диапазонам (18-25, 25-35 и т. Д.) Для проекта stat back-office. Они уже сортируются по полу.SQL. Статистика пользователей по возрастному диапазону
Вот мой код:
public function GenreByAge() {
$date_day = new datetime();
$date_day = $date_day->format('Y-m-d');
$sql = "SELECT count(*) as nb, id_thematique, dn
FROM qr_thematique_preco q
INNER JOIN users as u ON u.id_user = q.id_membre
WHERE u.id_part = '$this->id_part'
AND u.sexe = '$this->genre'";
switch ($this->tranche_age) {
case 1:
$sql .= AND DATE_FORMAT(dn,'%Y-%m-%d') <= date_sub(curdate(), INTERVAL 18 YEAR)
AND DATE_FORMAT(dn,'%Y-%m-%d') > date_sub(curdate(), INTERVAL 26 YEAR);
break;
case 2:
$sql .= AND dn <= date_sub(curdate(), INTERVAL 26 YEAR)
AND dn > date_sub(curdate(), INTERVAL 36 YEAR);
break;
case 3:
$sql .= AND dn <= date_sub(curdate(), INTERVAL 36 YEAR)
AND dn > date_sub(curdate(), INTERVAL 46 YEAR);
break;
case 4:
$sql .= AND dn <= date_sub(curdate(), INTERVAL 46 YEAR)
AND dn > date_sub(curdate(), INTERVAL 56 YEAR);
break;
case 5:
$sql .= AND dn <= date_sub(curdate(), INTERVAL 56 YEAR)
AND dn > date_sub(curdate(), INTERVAL 66 YEAR);
break;
Но запрос ничего с моими данными не возвращаются.
Спасибо, что помогли мне.
Какие СУБД вы используете? –