X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Выбрать строку с максимальным значением в одном из полей, Как это реализовать?
sc2r2bey
sc2r2bey
Topic Starter сообщение 22.4.2010, 17:28; Ответить: sc2r2bey
Сообщение #1


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


--------------------
Заметки о разработке и не только
программирую web и для we
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 22.4.2010, 18:21; Ответить: matroskin8
Сообщение #2


Если надо вытащить только максимальное значение, тогда просто:
[php]$result = mysql_query("SELECT MAX(polls) AS 'max_polls' FROM table",$db);
$row = mysql_fetch_array($result);
echo $row['max_polls'];[/php]
А если всю строку, то ничего другого, кроме как сделать двойной запрос в голову не пришло... может меня поправят:
[php]$result = mysql_query("SELECT MAX(polls) AS 'max_polls' FROM table",$db);
$row = mysql_fetch_array($result);

$result = mysql_query("SELECT * FROM table WHERE polls=$row[max_polls]",$db);
$row = mysql_fetch_array($result);
echo "Id строки с максимальным значением - ".$row['id']."; Еще что-то из этой же строки - ".$row['punkt']."; Само максимальное значение - ".$row['polls'];[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 22:08; Ответить: ZiTosS
Сообщение #3


matroskin8, зачем двойной запрос? А сортировкой и лимитом не обойтись?

Поправлю:
SELECT `*` FROM `table` ORDER BY `pole` DESC LIMIT 1

Так как поле числовое, то отсортируется в обратном порядке, т.е. по убыванию. А возьмем мы только первую запись, в которой это поле MAX.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
Topic Starter сообщение 22.4.2010, 23:20; Ответить: sc2r2bey
Сообщение #4


гениально!!! :rolleyes:


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 22.4.2010, 23:26; Ответить: gaaarfild
Сообщение #5


А есть еще такая SQL функция MAX() называется. =))

SELECT max(pole) FROM table LIMIT 1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 22.4.2010, 23:34; Ответить: ZiTosS
Сообщение #6


gaaarfild, выше приводили, но тут подобный запрос не подходит, если только такой:
SELECT `*` FROM `table` WHERE `pole`=MAX(`pole`)

Но, думаю, ясно, что данный запрос некорректен, при одинаковых значениях pole в некоторых из строк.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 23.4.2010, 10:50; Ответить: gaaarfild
Сообщение #7


Хотя в принципе ты абсолютно прав. =) Так как тебе нужно не максимальное значение, а вся строка, соответственно Версия Zitoss - абсолютно подходящая. моя - нет. =)
А еще, данная тема должна быть в разделе SQL
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 23.4.2010, 12:25; Ответить: ZiTosS
Сообщение #8


gaaarfild, спасибо
Тема перенесена в ветку "Базы данных и SQL"
Раз вопрос решен, тема закрыта.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) RedBox - все нужные инструменты в одном месте
0 fantomofdarkness 780 15.2.2023, 14:50
автор: fantomofdarkness
Открытая тема (нет новых ответов) Affshark - прямой рекламодатель и партнерская сеть в одном лице
0 Affshark 865 20.8.2020, 18:09
автор: Affshark
Открытая тема (нет новых ответов) Почему стоит выбрать именно Berileads?
2 leadkreditrf 1820 27.11.2019, 12:39
автор: -leadkreditrf-
Открытая тема (нет новых ответов) Proxy-Market.ru - Выбрать индивидуальные и элитные прокси IPv4 от 4$
5 sdfs 4030 13.5.2019, 10:52
автор: sdfs
Открытая тема (нет новых ответов) Advertmobail.ru - мультиформатная платформа с максимальным выкупом!
Мультиформатная платформа
0 advertmobail 2245 20.9.2018, 17:07
автор: advertmobail


 



RSS Текстовая версия Сейчас: 29.3.2024, 2:38
Дизайн