Я выполняю и оптимизирую некоторые SQL запросы.
В моем БД следующие два запроса возвращают одну и ту же вещь, но я не уверен, что что-то не вижу. Если я использую MAX (one_of_my_columns), кажется, что я возвращаю 1 строку (что я и хочу) независимо от того, использую я GROUP BY или нет. Являются ли они одинаковыми:
SELECT someThing, someNum, anotherNum, MAX(installDate)
FROM someTable
WHERE someThing= '123'
AND '2018' >= installDate
GROUP BY someUniqueID HAVING isEnabled
и (один без группировки по)
SELECT someThing, someNum, anotherNum, MAX(installDate)
FROM someTable
WHERE someThing = '123'
AND '2018' >= installDate
AND isEnabled
также «isEnabled» - это столбец с 1 или 0 .. Я считаю, что это работает как предназначен для обоих (только возвращать, если 1)
РЕДАКТИРОВАТЬ: сделал "someUniqueID", someThing ... это не уникально и будет иметь дубликаты. РЕДАКТИРОВАТЬ 2: Я имел в виду, что он возвращает одну строку.