Я очень новичок в MySQL. Я нашел несколько идей и кодов здесь, в Stack Overflow, чтобы получить указанное максимальное значение. Все они были совершенно разными, и я не могу решить, какой из них лучший. Я не могу использовать GREATEST
или LEAST
, так как я знаю, что он не работает с ПК и/или имеет несколько таблиц FK. (На мой последний экзамен, я должен использовать FK и PK тоже.)MySQL - выберите максимальное значение указанного запроса без LIMIT или JOIN
Вот мой собственный код:
SELECT Column
FROM table
WHERE Column =
(
SELECT MAX(Column)
FROM table
WHERE Value = true
)
Я нашел ленивый версию, чтобы получить максимальное значение:
SELECT ColumnName
FROM table
WHERE Value = true
ORDER BY ColumnName DESC
LIMIT 1
Поскольку я знаю, что это сначала делает заказ, который больше времени, чем проверка всех данных один раз и получение того, что является наименьшим значением.
Я также нашел это предложение, как метод, с помощью JOIN:
select
f.*
from
foo f
inner join
(
select min(id) as id from foo
) m on m.id = f.id;
Но теперь у меня нет нескольких таблиц, и я не думаю, что я должен сделать (временно?) Подтаблицы из-за одного запроса из одной таблицы.
Вот моя задача: сделать запрос, который газа состояние вещества обнаружено последним.
Мои только 1 данные таблицы со столбцами: http://pastebin.com/raw/82zZ0rh2
Если элемент является состояние газа материи, то значение строки столба газа в является 1, иначе это 0.
Мой пример кода сделки с ним, как это:
SELECT DiscoverYear, ElementName
FROM discoveries
WHERE DiscoverYear =
(
SELECT MAX(DiscoverYear)
FROM discoveries
WHERE Gas = 1
)
Пожалуйста, представьте тонны данных. Каков наилучший способ получить максимум?
Все методы вполне разумны с правильной структурой индексации. –