我试图从给定的数据中找出唯一的行在我的例子中,我存储的是股票的买入卖出表。所以同一个客户可以买卖同一只股票。所以问的是只取股票,只买,不卖任何其他客户端。这里是sqlFiddle链接,我在这里共享了表结构和查询,我尝试了http://sqlfiddle.com/#!9/df117d/2我期待的结果是-
STOCKB STOCKD STOCKE
toiithl61#
您可以:
SELECT DISTINCT s.symbol FROM bulk s WHERE s.buy_sell='BUY' AND 'SELL' not in ( SELECT a.buy_sell FROM bulk a WHERE a.symbol = s.symbol AND a.buy_sell='SELL' )
参见SQLFiddle
0sgqnhkj2#
这是使用group by和having子句的另一种方法,其中total应该等于具有标志 * BUY * 的总行:
group by
having
select symbol from bulk group by symbol having sum(buy_sell = 'BUY') = count(*)
Demo here
2条答案
按热度按时间toiithl61#
您可以:
参见SQLFiddle
0sgqnhkj2#
这是使用
group by
和having
子句的另一种方法,其中total应该等于具有标志 * BUY * 的总行:Demo here