В моем коде у меня есть таблица:
CREATE TABLE SERVICE
(
SER_ID INT primary key NOT NULL,
SER_TYPE VARCHAR(35) NOT NULL,
SER_STARTDATE DATE NOT NULL,
SER_ENDDATE DATE,
LAW_SOCNUM VARCHAR(8),
FOL_ID INT,
CLI_ID INT,
FOREIGN KEY (LAW_SOCNUM) REFERENCES LAWYER ON DELETE SET NULL,
FOREIGN KEY (FOL_ID) REFERENCES FEILD_OF_LAW ON DELETE SET NULL,
FOREIGN KEY (CLI_ID) REFERENCES CLIENT ON DELETE SET NULL,
);
и таблица:
CREATE TABLE FEILD_OF_LAW
(
FOL_ID INT PRIMARY KEY NOT NULL,
FOL_NAME VARCHAR(35) NOT NULL
);
Моя задача - найти название службы, которая была наиболее распространенной в
данный год, который является просто областью названия закона. У меня проблемы с получением правильного значения, так как вызов max для FEILD_OF_LAW.FOL_NAME приведет к получению только одного нижнего значения в алфавитном порядке. Вот что я попробовал:
select distinct year(SER_STARTDATE) as 'YEAR', max(fol) as 'MOST_COMMON_SERV'
from SERVICE join (select SERVICE.SER_ID, FEILD_OF_LAW.FOL_NAME as 'fol'
from SERVICE join FEILD_OF_LAW on SERVICE.FOL_ID = FEILD_OF_LAW.FOL_ID) a1 on SERVICE.SER_ID = a1.SER_ID
group by year(SER_STARTDATE)
Может кто-нибудь помочь мне объяснить, как получить наиболее повторяющийся идентификатор FOL_ID, указанный в таблице SERVICE, и как сгруппировать его по году. Благодаря.