如何在不使用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的情况下显示唯一记录?的主要内容,如果未能解决你的问题,请参考以下文章