Sybase中行数的SQL查询:去重后的行集

3

我有一个包含每次交易的security_id和side(买入或卖出)的表格。我想要计算不同的security_id和side组合的数量。

因此,当我执行以下操作时,我会得到所有符号方向的列表,但我不知道如何获得总计数?

select 
  security_id, side
from 
  trade
group by security_id, side

我想要的结果是一行,告诉我表中有多少个不同的security_id和side。
此外,是否有一种方法可以确定哪些security_id具有买入和卖出两个方面的条目。
2个回答

3
Select Count(*)
From    (
        Select security_id, side
        From trade
        Group security_id, side
        ) As Z

针对第二个问题:
Select security_id
From trade
Where side In('BUY','SELL')
Group security_id
Having Count( Distinct side ) = 2

在第二个问题中,OP只询问ID,而不是它们的数量。尽管如此,您的第二个查询确实包含了解决方案(在子查询中)。 - Andriy M
@Andriy M - 啊。你是正确的。我已更新第二个查询。 - Thomas

0

你尝试过这样做吗?

select 
 security_id, side , count(*)
     from 
        trade
       group by security_id, side

我想要每个security_id和side的总数,且两者都是不同的。 - richs
嗯...我手头没有数据库来测试它,但我相信group by基本上会给你一个security_id和side的不同组合。 - Kal
我现在明白问题了...你想用另一个select count(*)来包装整个select,从(select security_id, side ...group by ...)开始。 - Kal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接