SELECT t1.SL, t1.Number, t1.Type
FROM mytable t1
WHERE t1.Type = 'A' OR NOT EXISTS
(
SELECT 1
FROM mytable t2
WHERE t2.Number = t1.Number AND t2.Type = 'A'
)
此处演示 说明: 查询选择全部 A 行由于
t1.Type = 'A'
以及所有 B 行提供了 NOT EXISTS 运算符不返回任何行。此子查询
SELECT 1
FROM mytable t2
WHERE t2.Number = t1.Number AND t2.Type = 'A' -- t1 is a reference to the outer table
2条答案
按热度按时间9jyewag01#
试试这个:
此处演示
说明:
查询选择全部
A
行由于以及所有
B
行提供了NOT EXISTS
运算符不返回任何行。此子查询如果
A
记录,具有相同的Number
作为B
记录,存在。px9o7tmv2#
“b”比“a”大。
所以一个较小的类型一定不存在。
这样,将选择每个数字的最小类型。即使有额外的类型。