【发布时间】:2021-10-09 23:57:19
【问题描述】:
我有下面的表格和数据。为简单起见,我将shape 设为varchar。按shape 列分组是不是的选项。只能在id 上选择或加入形状。
如果我使用下面的 select 语句,这正是我想要的结果。它只是缺少id 列:
SELECT badge_id, likes
FROM table1 t1
GROUP BY badge_id, likes;
我的问题是,如果badge_id 和likes 组合与另一行相同,我想显示id 的第一个实例。如果 badge_id 和 likes 组合与另一行不同,请向我展示其所有独特的 id。
CREATE TABLE table1 (
id NUMBER,
badge_id varchar(100) NOT NULL,
likes varchar(100) NOT NULL,
shape varchar(100) NOT NULL,
PRIMARY KEY(id)
);
INSERT INTO table1 (id, badge_id, likes, shape) VALUES
(1, 'B001', 'red, blue', 'Rectangle');
INSERT INTO table1 (id, badge_id, likes, shape) VALUES
(2, 'B001', 'red, blue', 'Rectangle');
INSERT INTO table1 (id, badge_id, likes, shape) VALUES
(3, 'B003', 'green, red', 'Triangle');
INSERT INTO table1 (id, badge_id, likes, shape) VALUES
(4, 'B003', 'purple, red', 'Square');
INSERT INTO table1 (id, badge_id, likes, shape) VALUES
(5, 'B555', 'blue, black', 'Circle');
SQL 小提琴:http://sqlfiddle.com/#!4/83e12
【问题讨论】:
标签: sql oracle select oracle11g