如何在不使用distinct的情况下显示唯一记录?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不使用distinct的情况下显示唯一记录?相关的知识,希望对你有一定的参考价值。

我正在使用Oracle SQL。我有Table作为测试,列是A,B,C。在A列中,值类似于:

1000,
1000,
1000,
2000,
2000,
3000

结果将来自A栏:

  A
1000
2000
3000

注意:除了使用Distinct语法外,从测试中选择Distinct A;

答案

使用GROUP BY

Select A from Test GROUP BY A

Group by将指定列的所有相似值分组为一个值(组)。

Oracle Demo

虽然,Group By是一个标准的sql,你使用什么数据库并不重要。

另一答案

使用GROUP BY条款。

架构(mysql v5.7)

CREATE TABLE A
(
  id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  someData INT
);

INSERT INTO A VALUES (DEFAULT, 1000),
                     (DEFAULT, 1000),
                     (DEFAULT, 2000),
                     (DEFAULT, 1000),
                     (DEFAULT, 2000),
                     (DEFAULT, 3000),
                     (DEFAULT, 3000);

查询#1

SELECT someData
FROM A
GROUP BY someData;

产量

| someData |
| -------- |
| 1000     |
| 2000     |
| 3000     |

View on DB Fiddle

以上是关于如何在不使用distinct的情况下显示唯一记录?的主要内容,如果未能解决你的问题,请参考以下文章

一对多关系在不使用“distinct”的情况下获取重复的对象。为啥?

如何在不刷新页面的情况下在屏幕上显示新记录?

在不使用子查询的情况下使用 SELECT DISTINCT ON 计算总行数

如何使用 ROOM 库在不阻塞 UI 的情况下将数千条记录从本地数据库加载到 recyclerview

如何在不使用唯一修饰符的情况下通过灵活的搜索更新项目类型的所有实例?

R:如何在不使用循环的情况下按唯一向量顺序查找所有重复向量值的索引?