У меня есть таблица с именем food
:Найти наиболее часто видели collumn_name с использованием макс
CREATE TABLE food(
name varchar(30) primary key,
type varchar(30)
);
Я хочу найти type
, который появляется больше всего времени в этой таблице.
я могу найти это с использованием
SELECT type
FROM food
GROUP BY type
ORDER BY count(type) DESC
LIMIT 1
limit 1
Но не в включены в стандарты. Как я могу найти тот же результат, используя MAX
? Например, я хочу что-то вроде
SELECT type
FROM food
GROUP BY type
HAVING count(type) = MAX(count(type));
HAVING count(type) = MAX(count(type));
не допускается.
Стандарт ANSI SQL Альтернативой '' 1' LIMIT является 'FETCH FIRST 1 ROW'. Добавьте 'WITH TIES', и вы получите две строки, если два типа имеют одинаковое максимальное количество строк. (К сожалению, пока не поддерживается так много продуктов dbms). – jarlh