Sql 使用distinct时选择行的查询
我想做以下几点 假设数据看起来像这样Sql 使用distinct时选择行的查询,sql,oracle11g,Sql,Oracle11g,我想做以下几点 假设数据看起来像这样 Number letter 1 b 1 c 1 a 2 d 2 b 2 c 3 a 3 b 3 c 我想用下面的方法过滤数据,得到所有不同的数字,然后过滤掉字母d 输出应如下所示 Number letter 1 2 2 d 3 这
Number letter
1 b
1 c
1 a
2 d
2 b
2 c
3 a
3 b
3 c
我想用下面的方法过滤数据,得到所有不同的数字,然后过滤掉字母d
输出应如下所示
Number letter
1
2
2 d
3
这可能吗
我可以在两个表中完成这项工作,但我想知道是否可以将其合并为一个表
多谢各位
克里斯这应该可以做到:
select distinct number, case when letter = 'd' then 'd' end letter from mytable
在Oracle中,您可以使用decode
缩短查询:
select distinct number, decode(letter, 'd', 'd') letter from mytable
联合所有人怎么样
select distinct number, null as letter
from t
union all
select number, 'd'
from t
where letter = 'd';
我还没有试过第一个,但是第二个非常好,谢谢!我会看看这个语法,我是初学者,所以每一个都是有用的谢谢