Посоветуйте, как мне преобразовать этот запрос
mysql> SELECT name, birth, death,
-> (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))
-> AS age
-> FROM pet WHERE death IS NOT NULL ORDER BY age;
под мою задачу
Вот не работает у меня данный запрос...
При данном запросе у меня выбираются все аккаунты.
Вот как я делаю:
PHP:
$query = "SELECT name FROM users
WHERE TO_DAYS(NOW()) - TO_DAYS(date_zak) < 9 ";
$result = mysql_query($query) or die(mysql_error());
$num_results = mysql_num_rows($result);
echo 'через 9 или менее дней '.$num_results.'<br>';
for ($i = 0; $i < $num_results; $i++)
{
$row = mysql_fetch_array($result);
echo $row['name'];
}
В базе у меня лежит таблица с несколькими записями, в колонке date_zak такие записи
2006-09-31
2006-09-25
2006-09-24
И вот выбираются все три записи, хотя по логике не должно выбраться не одной, т.к. до этих дат более 9 дней...
TO_DAYS(NOW()) - это сегодня
TO_DAYS(date_zak) - это дата окончания
1. Если из сегодня ты будешь вычитать дату окончания (которая больше), что получится ?
2. Будет ли это меньше 9 ?
-~{}~ 25.08.06 11:19:
Человек тебе просто пример дал, а ты его под себя перекроить даже ленишься.