PostgreSQL:组合计数和 DISTINCT ON

问题描述 投票:0回答:1

鉴于这张表

| id | name  | created_at                 |
| 1  | test  | 2015-02-24 11:13:28.605968 |
| 2  | other | 2015-02-24 13:04:56.968004 |
| 3  | test  | 2015-02-24 11:14:24.670765 |
| 4  | test  | 2015-02-24 11:15:05.293904 |

这个查询仅返回行 id 2 和 id 4。

SELECT DISTINCT ON (documents.name) documents.*
FROM "documents"  
ORDER BY documents.name, documents.created_at DESC

如何返回受影响的行数?类似的东西

SELECT COUNT(DISTINCT ON (documents.name) documents.*) FROM "documents"
postgresql count aggregate-functions distinct
1个回答
4
投票

您可以使用外部查询:

SELECT COUNT(1)
FROM (
    SELECT DISTINCT ON (name) *
    FROM documents
    ORDER BY name, created_at DESC
    ) alias
© www.soinside.com 2019 - 2024. All rights reserved.