鉴于以下架构
CREATE TABLE categories
(
id UNIQUEIDENTIFIER PRIMARY KEY,
name NVARCHAR(50)
);
CREATE TABLE [group]
(
id UNIQUEIDENTIFIER PRIMARY KEY
);
CREATE TABLE logger
(
id UNIQUEIDENTIFIER PRIMARY KEY,
group_id UNIQUEIDENTIFIER,
uuid CHAR(17)
);
CREATE TABLE data
(
id UNIQUEIDENTIFIER PRIMARY KEY,
logger_uuid CHAR(17),
category_name NVARCHAR(50),
recorded_on DATETIME
);
Run Code Online (Sandbox Code Playgroud)
以及以下规则
data记录引用一个logger和一个categorylogger人总会有一个groupgroup可以有多个loggerscategory_name每行不是唯一的,它只是将给定数据记录关联到类别下的一种方式,id实际上只是一个代理键。
实现结果集的最佳方法是什么
category_id | logger_group_count
--------------------------------
12345 4
67890 …Run Code Online (Sandbox Code Playgroud)