sql - 具有大于和小于 Sybase DB 的计数条件
问题描述
我在 sybase db 中使用以下查询,我需要数据来显示 count(Field1 >=2 和 Field1 <=5)
Select * FROM Table1 WHERE Field1 IN( SELECT Field1 FROM Table1 GROUP BY Field1 HAVING COUNT(Field1) >= 2 ORDER BY Field1
我怎样才能做到这一点
解决方案
你基本上在那里:
Select *
FROM Table1
WHERE Field1 IN (SELECT Field1
FROM Table1
GROUP BY Field1
HAVING COUNT(Field1) BETWEEN 2 AND 5
)
ORDER BY Field1;
但是,我建议使用窗口函数:
select t1.*
from (select t1.*, count(*) over (partition by field1) as cnt
from table1 t1
) t1
where t1.cnt between 2 and 5;
推荐阅读
- optimization - 解决 Drake 中 Snopt 的错误,如何解决?
- javascript - Paypal 按钮错误:“预期要传递的订单 ID”
- python - 如何计算链A(CZ)原子的受体特定原子与链B上的原子列表之间的距离
- python - 在 /catalog/borrowed/ 配置不当
- c# - 如何从指定索引连接数组中的值?
- java - java for循环提前终止
- microsoft-teams - 将包导入 Teams 应用工作室时出错
- mongodb - Debian 9 Vserver 通过 ssh root@ip MongooseServerSelectionError:无法连接到 MongoDB Atlas 集群中的任何服务器
- cube - 如何使用 express 运行 cubeJS-Backend 应用程序
- intellij-idea - Intellij 导入完全限定的类名,即使未勾选