Выберите, где такое же количество - PullRequest
0 голосов
/ 21 апреля 2020

Как рассчитать количество статей с равным числом авторов?

Я хочу вернуть количество авторов, количество статей, отсортированных по возрастанию по количеству авторов.

Вот мой SQL:

CREATE TABLE Papers(
  PKey INT PRIMARY KEY,
  Title VARCHAR(512) NOT NULL,
  Pages VARCHAR(64),
  CKey INT REFERENCES Conferences,
  JKey INT REFERENCES Journals,
  CHECK((CKey IS NOT NULL AND JKey IS NULL)
    OR (CKey IS NULL AND JKey IS NOT NULL))
);

CREATE TABLE AuthPapers(
  PKey INT REFERENCES Papers,
  AKey INT REFERENCES Persons,
  Rank INT NOT NULL,
  PRIMARY KEY(PKey, AKey),
  CHECK(Rank >= 1)
);

CREATE TABLE Persons(
  AKey INT PRIMARY KEY,
  Name VARCHAR(128) UNIQUE NOT NULL,
  Website VARCHAR(256),
  IKey INT REFERENCES Institutions
);

Как мне этого добиться?

Результат

Result of SQL

1 Ответ

1 голос
/ 21 апреля 2020
select 
  AuthCount,
  COUNT(Pkey) as PaperCount 
FROM (
      select 
      PKey, 
      COUNT(AKey) as AuthCount 
      FROM AuthPapers 
      GROUP BY PKey) as t 
GROUP BY AuthCount 
ORDER BY AuthCount 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...