![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
|
|
|
[x]
Дата
|
|||||
![]() Unregistered |
Доброго времени суток!
Столкнулся с такой фигней. В таблице базы (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 написал(а):
Почему убрать, а если дубликат? И кстати, вот синтаксис с мускульного сайта SELECT student_name, MIN(test_score), MAX(test_score) Спустя 7 минут, 37 секунд (18.12.2011 - 20:31) Sergen написал(а):
Не-а, не работает. Спустя 17 минут, 18 секунд (18.12.2011 - 20:49) inpost написал(а): Sergen У тебя с логикой всё впорядке? Какой САМЫЙ ВЫСОКИЙ? Ответ: Вася и Петя... НЕ МОЖЕТ БЫТЬ ТАКОГО, Если самый высокий Петя, то ОН САМЫЙ, ОН №1. Не бывает 2 человека №1. Второй человек всегда будет №2!!!! Это тебе не школа, "Вы мои детишки самые лучшие", это точная наука, если один самый лучший, то второй будет именно вторым, а третий - третьим! Спустя 14 минут, 18 секунд (18.12.2011 - 21:03) Sergen написал(а): inpost Че-то меня переклинило. Я сначала хотел выводить в цикле, а потом передумал, а группировка осталась.... Не, за компом сидеть по 14 часов не хорошо Спустя 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, но никак не группировку, хотя я не думаю, что тебе сейчас важна скорость и производительность! |
||||
|
|