select top 10 * from
(
SELECT * FROM v_TaskQueue t WHERE ID IN (SELECT top 1 id fROM v_TaskQueue WHERE orderid = t.orderid)
) m
order by orderid
(
SELECT * FROM v_TaskQueue t WHERE ID IN (SELECT top 1 id fROM v_TaskQueue WHERE orderid = t.orderid)
) m
order by orderid
from v_TaskQueue
Group by orderID) A,v_TaskQueue B
where A.ID=b.ID这样的效率如何?有建索引效率会更快些
from v_TaskQueue
Group by orderID) A,v_TaskQueue B
where A.ID=b.ID
刚写错了饿``不过,好象潇洒老乌龟 的写法挺不错,具体可以分析下
FROM v_TaskQueue t
WHERE ID IN (SELECT top 1 id fROM v_TaskQueue WHERE orderid=t.orderid)
order by id
但是,我测了一下,用top 10速度还行,top子16开始,就非常非常的慢了,不知道是我表结构有问题,还是索引没建好select top 20 * from
(
SELECT * FROM v_TaskQueue t WHERE ID IN (SELECT top 1 id fROM v_TaskQueue WHERE orderid = t.orderid)
) m
order by orderid倒是小鸟~的写法运行速度蛮快的,对于上W的数据运行速度只有1秒/