У меня есть таблица со структурой: id(INT PK), title(VARCHAR), date(DATE)
SQL грамматика SELECT MIN (ДАТА)
Как выбрать все различные названия с ранней датой?
По-видимому, SELECT DISTINCT title, MIN(date) FROM table
не работает.
У меня есть таблица со структурой: id(INT PK), title(VARCHAR), date(DATE)
SQL грамматика SELECT MIN (ДАТА)
Как выбрать все различные названия с ранней датой?
По-видимому, SELECT DISTINCT title, MIN(date) FROM table
не работает.
GROUP BY
вместо DISTINCT
, если вы хотите использовать функцию агрегации ЦИИ.
SELECT title, MIN(date)
FROM table
GROUP BY title
Агрегатная функция требует GROUP BY в стандарте SQL
Это «Получить минимальный срок за титул» на простом языке
SELECT title, MIN(date) FROM table GROUP BY title
Большинство РСУБД и стандарт требует, чтобы столбец либо в GROUP BY или в функциях (MIN, COUNT и т. Д.): MySQL является заметным исключением с некоторыми расширениями, которые дают непредсказуемое поведение.
Не вызывайте столбец 'date', если вы можете его избежать. Это только вызовет проблемы в долгосрочной перспективе. – Ben