首页 > 解决方案 > SQL 有两列

问题描述

我有下表A

COL1 COL2 COL3
 A    1    10-1-2019
 B    4    13-4-2019
 A    1    13-4-2019
 A    1    10-1-2019
 A    1    10-1-2019
 C    3    20-4-2020
 A    1    13-4-2019

我这是我想写的 sql 代码,但计数不接受两个元素:

select COL1,COL2,COL3
from TableA
group by COL1,COL2,COL3,
HAVING COUNT(COL1,COL2) > 2

并且只有结果A 1 10-1-2019应该出现,因为它是唯一一个具有超过 2 个结果的对 COL1 COL3 (在本例中为 3 次)。COL1 /COL3 对类似于组合主键
我如何实现这一点?

我的数据库是 Sybase ASE

提前致谢。

标签: sqlgroup-bysap-asehaving

解决方案


我认为这可以满足您的要求:

select COL1, COL2, COL3
from TableA
group by COL1, COL2, COL3,
HAVING COUNT(*) > 2;

也许你有一个不好的例子。但我不明白你为什么认为你需要 exclude col2


推荐阅读