Oracle使用合并为一列的两列计算非重复行

qmb5sa22  于 2023-02-03  发布在  Oracle
关注(0)|答案(1)|浏览(169)

我有一个表,其中每行有三列,前两列是前缀和值,第三列是我试图得到的列1/2的非重复计数。
基本上我就是想这样。
| 账户|共计|
| - ------|- ------|
| 前缀和值1|一百零一|
| 前缀和值2|一百零二|
| 前缀和值3|一百零三|
我已经尝试了很多不同的版本,但我基本上是围绕这一点。

select prefix||value as Account,count(distinct concat(prefix, value)) as Totals from Transactions
4ioopgfo

4ioopgfo1#

听起来你想

SELECT
 prefix||value Account,
 count(distinct thirdcolumn) Totals
FROM Transactions
GROUP BY prefix, value

count(distinct thirdcolumn)表示您需要第三列中的非重复值的计数,GROUP BY prefix, value表示您需要为每个唯一的前缀/值组合返回一行,并且count适用于该组合。
注意,“thirdcolumn”是第三列名称的占位符,而不是魔术关键字,因为我在帖子中没有看到实际名称。

相关问题