當我在以下子查詢中包含2條註釋掉的行時,似乎需要等到我的Sybase 12.5 ASE服務器獲得任何結果爲止。沒有這兩行,查詢運行正常。這個分組有什麼問題?爲什麼在子查詢中分組會導致問題
select days_played.day_played, count(distinct days_played.user_id) as OLD_users
from days_played inner join days_received
on days_played.day_played = days_received.day_received
and days_played.user_id = days_received.user_id
where days_received.min_bulk_MT > days_played.min_MO
and days_played.user_id in
(select sgia.user_id
from days_played as sgia
where sgia.day_played < days_played.day_played
--group by sgia.user_id
--having sum(sgia.B_first_msg) = 0
)
group by days_played.day_played
問題在於,在這種情況下使用'exists'比使用'in'更好,因爲您必須使用索引。 – 2009-10-16 13:56:18