Войти

Показать полную графическую версию : Очередная проблема с MySQL


vadimiron
22-11-2003, 02:34
подскажите плиз запрос для удаления строки из таблицы с минимальным значением какого то элемента в этой строке.

Прочтение мануала мне не помогло!!!

Тяжёлый случай!!!

Prisoner
22-11-2003, 06:39
SELECT
 MIN(`test`.`field1`) AS `FIELD_1_MIN`
FROM
 `test`

test   - таблица
field1 -  какое-то поле

Можно и без слова AS, оно лишь устанавливает псевдоним, необходимо когда вычисляется скажем сумма (или другая функция) над значениями нескольких полей и это значение кладется в поле какое указано после AS.

vadimiron
22-11-2003, 13:56
Всё равно не получилось  :(((

Я же не знаю в каком поле у меня минимальное значение по столбцу

Я правда сам нашёл решение: сначало отсортировать всё по возрастанию, а потом удалить первую строку-РАБОТАЕТ!!!!!!!!

$sql=mysql_query("select*from chat_mess order by ident asc");
if (mysql_num_rows($sql)>3)
{
   $sql2=mysql_fetch_row($sql);
   mysql_query("delete from chat_mess where mess='$sql2[2]'");
}

Так как mysql_num_rows без цикла возвращает всегда первую строку - малость извратно наверно, но работает

Vlad Drakula
22-11-2003, 21:06
vadimiron
да так и надо!!!

спасение утопаещего дело рук самого утопаешего!!!
остальные могут полько помочь :)

vasketsov
24-11-2003, 21:51
А почему не

delete chat_mess
where ident = (select min(ident) from chat_mess)

, а?

vadimiron
25-11-2003, 19:53
почему то не получается - я уже пробовал

а разве после delete не надо писать from  и потом только имя таблицы?????




© OSzone.net 2001-2012