mysql 从给定数据中查找唯一行

dohp0rv5  于 2023-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(122)

我试图从给定的数据中找出唯一的行
在我的例子中,我存储的是股票的买入卖出表。所以同一个客户可以买卖同一只股票。
所以问的是只取股票,只买,不卖任何其他客户端。
这里是sqlFiddle链接,我在这里共享了表结构和查询,我尝试了http://sqlfiddle.com/#!9/df117d/2
我期待的结果是-

STOCKB
STOCKD
STOCKE
toiithl6

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

0sgqnhkj

0sgqnhkj2#

这是使用group byhaving子句的另一种方法,其中total应该等于具有标志 * BUY * 的总行:

select symbol
from bulk
group by symbol
having sum(buy_sell = 'BUY') = count(*)

Demo here

相关问题