执行此
查询的最佳
方法是什么.我有下表
列表的mytable
x y
1 a
2 b
3 c
我想(在伪sql中)
select x as x1,x as x2,x as x3 from mytable where ????
什么时候
x1 is x where y=a
x2 is x where y=b
x3 is x where y=c
所以我想结果
1,2,3
我目前正在使用cte和一个非常大的数据集,我试图减少查询时间,是否总是需要进行3次表扫描?
您应该使用3个
查询.在自连接时使用适当的索引会更快.此外,它将更具可读性.
如果你想要一个查询调用,它可能是这个:)
SELECT
(SELECT x FROM table WHERE y=1) AS x1,(SELECT x FROM table WHERE y=2) AS x2,(SELECT x FROM table WHERE y=3) AS x3