MySQL MAX subquery

В данный момент у меня проблема с MySQL. Я пытаюсь определить наибольшее float значение из моей таблицы следующим образом:

SELECT `id` 
FROM `LOTRESULTS` 
WHERE 
  `value`= (SELECT MAX(value) FROM `LOTRESULTS`) AND 
  `lot_id` = 180 
ORDER BY `id` DESC 
LIMIT 1

Это работает всякий раз, когда я выбираю, скажем, id 180, но ни одна из других комбинаций не работает.

Есть 3 записи с 180 в качестве lot_id, и 2 случая с 179 в качестве lot_id, и т.д. Это просто работает случайным образом, это не работает на большинстве записей в БД.

Я делаю что-то не так? Может мне изменить тип данных в колонке value?

Заранее спасибо, ребята!

p.s. Я также пробовал:

SELECT `id` FROM `LOTRESULTS` WHERE `value`= (SELECT MAX(value) FROM
`LOTRESULTS`) AND `lot_id` = 180

и

SELECT `id` FROM `LOTRESULTS` WHERE `value`= (SELECT MAX(value) AS
`value` FROM `LOTRESULTS`) AND `lot_id` = 180

с теми же результатами...

0
задан Matt Fenwick 28 November 2011 в 16:18
поделиться