Группировка по предложению в mySQL и postgreSQL, почему ошибка в postgreSQL?

Предположим, у меня есть эта таблица: named =стол чья структура:

PostGreSQL:

 create table the_table (col3 SERIAL, col2 varchar, col1 varchar, PRIMARY KEY(col3));

MySQL:

create table the_table ( col3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, col2 varchar(20), col1 varchar(20) )

Затем я вставил таблицу:

INSERT INTO the_table (col2,col1) VALUES 
('x','a'),
('x','b'),
('y','c'),
('y','d'),
('z','e'),
('z','f');

Теперь таблица выглядит так:

col3 | col2 | col1 
------+------+------
    1 | x    | a
    2 | x    | b
    3 | y    | c
    4 | y    | d
    5 | z    | e
    6 | z    | f

Когда я делаю этот запрос:

select * from the_table group by col2

тогда в mysql я получаю:

1 x a
3 y c
5 z e

и в postgreSQL я получаю сообщение об ошибке:

ERROR:  column "the_table.col3" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select * from the_table group by col2;

Мои вопросы:

Что означает эта ошибка? Что такое агрегатная функция?

Когда он работает в MySQL, почему он не может работать в PostgreSQL?

Ответы на вопрос(3)

Ваш ответ на вопрос