我在sql server数据库中有一个大表。我需要执行以下操作,并且正在努力使用sql来执行此操作。
第1步:获取最大记录数
SELECT ROW,COLUMN FROM TABLE1 WHERE STAGE = 130.0
第2步:获取最小记录数
SELECT ROW,COLUMN FROM TABLE1 WHERE STAGE = 120.0
如何获取仅在步骤1中而不是在步骤2中的记录列表?
我使用pyodbc从python调用这些查询。我目前的解决方案是分别运行两个选择查询,将结果存储为python集,然后在python中使用set操作来查找步骤1中不存在于步骤2中的记录集。虽然它有效,但解决方案显然是慢。
我可以使用单个SQL查询加快速度吗?
答案 0 :(得分:3)
你想使用except子句,它以类似于UNION的方式使用,但只会在第一组中显示不在第二组中的结果
SELECT ROW,COLUMN FROM TABLE1 WHERE STAGE = 130.0
EXCEPT
SELECT ROW,COLUMN FROM TABLE1 WHERE STAGE = 120.0