我正在尝试从我的表中选择记录。我的表包含近20列和超过500 000条记录。例如:
我的样本表数据:
期望的结果:
列C1是表的主键。我使用了以下查询
SELECT ( SELECT FIRST(C1)
FROM TableName AS F
WHERE F.C2 = TableName.C2
) AS Exp1 ,
TableName.C2 ,
TableName.C3 ,
TableName.C4
FROM TableName
它返回我期望的Desired结果,但返回结果需要更多时间。有什么方法可以加快我的查询速度吗?在此先感谢。
答案 0 :(得分:0)
您可以从上一个查询中写入结果 - 返回Min(C1)并按C2,C3和C4分组 - 到临时表。
然后将主表连接到C2,C3,C4上的临时表,并从临时表中选择Min(C1)并忽略主表中的C1。