sql - 选择相同计数的位置
问题描述
如何计算作者数量相同的论文数量?
我想返回作者数量,论文数量,按作者数量升序排序。
这是我的 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
);
我如何实现这一目标?
结果
解决方案
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
推荐阅读
- mobile - 移动设备上的文本超链接太大
- javascript - Zoom out camera while keeping text locked - Phaser 3
- javascript - 监视全局获取(命中哪个 URL)?
- .net-core - 与多个 nuget 包的莫名冲突:System.MissingMethodException:找不到方法:'Microsoft.Extensions.Primitives.IChangeToken'
- machine-learning - AttributeError:“ListWrapper”对象没有“最小化”属性
- python - asyncio - 代码同步执行
- swift - Cocoa:如何在 Swift 中获取广播 IP 地址?
- c# - 如何在 ASP 网络核心 Web API 上正确地将列表转换为 IQueryable
- python - 索引错误,似乎无法弄清楚这一点
- kubernetes - 查询以查找集群中 CPU 和内存的不同组合