SELECT SUM(觀看次數)其中id從syndicatedvideos( 選擇VideoID的其中VideoID的在(選擇syndicatedvideos syndicatedvideoid其中視頻ID = 31) 工會 選擇從syndicatedvideos syndicatedvideoid其中VideoID的在(選擇syndicatedvideos syndicatedvideoid其中視頻ID = 31 ))或(31)中的id。如何優化此查詢?從視頻
如何優化上面的查詢?
SELECT SUM(觀看次數)其中id從syndicatedvideos( 選擇VideoID的其中VideoID的在(選擇syndicatedvideos syndicatedvideoid其中視頻ID = 31) 工會 選擇從syndicatedvideos syndicatedvideoid其中VideoID的在(選擇syndicatedvideos syndicatedvideoid其中視頻ID = 31 ))或(31)中的id。如何優化此查詢?從視頻
如何優化上面的查詢?
我認爲這應該工作。
select sum(viewcount) from video
where id in(select syndicatedvideoid from syndicatedvideos where videoid=31) or or id in (31)
請檢查確認。謝謝。
SELECT sum(video.viewcount) FROM video
LEFT JOIN syndicatedvideos sv1 ON video.id=sv1.videoid
LEFT JOIN syndicatedvideos sv2 ON video.id=sv1.syndicatedvideoid
WHERE
sv1.videoid=31 OR
sv2.videoid=31 OR
video.id=31;
select sum(viewcount)
from video
where id in(
select id from(
select videoid as id
from syndicatedvideos
union
select syndicatedvideoid as id
from syndicatedvideos)
where id in(
select syndicatedvideoid
from syndicatedvideos
where videoid=31)
) or id in (31)
select sum(viewcount)
from video v
where exists (
select 1
from syndicatedvideos sv
where (
v.id = sv.videoid
or v.id = sv.syndicatevideoid)
and exists (
select 1
from syndicatedvideos sv2
where sv.videoid = sv2.syndicatevideoid
and sv2.videoid=31)
)
or id = 31.
我改變了:
你已經剪出了一大堆videoids。 – Li0liQ 2009-12-21 07:55:27