[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из бызы мин и макс значений
Sergen
Доброго времени суток!
Столкнулся с такой фигней. В таблице базы (mysql) есть столбец.
Тип mediumint (11),
в нем записи, именно в таком порядке
26000
44000
35500
99000
18000
83000
Есть запрос
SELECT `k_3` FROM `zeny`  GROUP BY `k_3` ORDER BY `k_3`DESC


Почему он вытаскивает 83000 а не 99000?
Причем в других полях то же идет выборка либо минимума, либо максимума, все нормально. Только вот в этом. Ну там числа чуть меньше.
Че за фигня?



Спустя 6 минут, 26 секунд (18.12.2011 - 18:22) Winston написал(а):
Используй MIN() MAX()

Спустя 1 час, 15 минут, 41 секунда (18.12.2011 - 19:38) inpost написал(а):
Sergen
А зачем группировку? Убери её.

Спустя 31 минута, 9 секунд (18.12.2011 - 20:09) Sergen написал(а):
Да я как раз с них и начинал. Кстати, погуглив обнаружил что многие сталкиваются с проблемами при использовании этих операторов

SELECT MAX(k_3) FROM `zeny` GROUP BY `k_3`

И все,ничего не выдается

Спустя 2 минуты, 29 секунд (18.12.2011 - 20:11) Игорь_Vasinsky написал(а):
MAX(`k_3`) as `maximum`

Спустя 3 минуты, 32 секунды (18.12.2011 - 20:15) inpost написал(а):
Sergen
Убери группировку....

Спустя 8 минут, 56 секунд (18.12.2011 - 20:24) Sergen написал(а):
Цитата (inpost @ 18.12.2011 - 17:15)
Sergen
Убери группировку....

Почему убрать, а если дубликат?

И кстати, вот синтаксис с мускульного сайта
 SELECT student_name, MIN(test_score), MAX(test_score)
FROM student
GROUP BY student_name;

Спустя 7 минут, 37 секунд (18.12.2011 - 20:31) Sergen написал(а):
Цитата (Игорь_Vasinsky @ 18.12.2011 - 17:11)
MAX(`k_3`) as `maximum`



Не-а, не работает.

Спустя 17 минут, 18 секунд (18.12.2011 - 20:49) inpost написал(а):
Sergen
У тебя с логикой всё впорядке? Какой САМЫЙ ВЫСОКИЙ? Ответ: Вася и Петя... НЕ МОЖЕТ БЫТЬ ТАКОГО, Если самый высокий Петя, то ОН САМЫЙ, ОН №1. Не бывает 2 человека №1. Второй человек всегда будет №2!!!!
Это тебе не школа, "Вы мои детишки самые лучшие", это точная наука, если один самый лучший, то второй будет именно вторым, а третий - третьим!

Спустя 14 минут, 18 секунд (18.12.2011 - 21:03) Sergen написал(а):
inpost
Че-то меня переклинило.
Я сначала хотел выводить в цикле, а потом передумал, а группировка осталась....
Не, за компом сидеть по 14 часов не хорошо blink.gif

Спустя 11 минут, 22 секунды (18.12.2011 - 21:14) inpost написал(а):
Sergen
Какой нафиг цикл? Цикл для вывода нескольких записей, лучший = это №1, он только один!

Спустя 16 минут, 40 секунд (18.12.2011 - 21:31) Sergen написал(а):
Не понял...Если у меня две одинаковые строки 99000 99000
И через запрос:

SELECT `k_3` FROM `zeny` ORDER BY `k_3`DESC

в цикле они не появятся в выдаче что ли?

Спустя 2 минуты, 27 секунд (18.12.2011 - 21:34) Winston написал(а):
Значит напиши SELECT DISTINCT ... чтобы не было повторов !

Спустя 15 минут, 25 секунд (18.12.2011 - 21:49) Sergen написал(а):
Все сейчас попробовал, убрал group выдал правильно.
Спасибо !

Спустя 5 часов, 12 минут, 34 секунды (19.12.2011 - 03:01) inpost написал(а):
Цикл тебе не нужен. Первую запись выбрал и всё. Если так сильно переживаешь за экономию, напиши LIMIT 1, но никак не группировку, хотя я не думаю, что тебе сейчас важна скорость и производительность! smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.