SQLite 具有 2 个唯一列

SQLite Distinct With 2 Unique Column

我正在使用 SQLite。我想让 2 列中的每个数据行都是唯一的。

本例数据在order_transactiontable:

date_transaction customer
2022-05-11 Dio
2022-05-11 Dio
2022-05-11 Jotaro

当我使用 distinct 查询时:

SELECT DISTINCT date_transaction, customer FROM order_transaction;

输出为:

date_transaction customer
2022-05-11 Dio
2022-05-11 Jotaro

好的,我得到了 customer 独特的行,但是我怎样才能得到这样的 date_transaction 独特的行?

date_transaction customer
2022-05-11 Dio
Jotaro

什么查询可以获得该输出?

我是 SQLite 新手。对不起:)

使用 CASE 表达式和 ROW_NUMBER() window 函数:

SELECT CASE WHEN ROW_NUMBER() OVER (PARTITION BY t.date_transaction ORDER BY t.customer) = 1 THEN t.date_transaction END date_transaction, 
       t.customer
FROM order_transaction t
GROUP BY t.date_transaction, t.customer
ORDER BY t.date_transaction, ROW_NUMBER() OVER (PARTITION BY t.date_transaction ORDER BY t.customer);

参见demo