0

ワークベンチで新しいセッションを開き、このクエリを実行しようとすると、このクエリは最初の実行でカウント '15' を返し、2 回目の実行で '4' を返します。

select count(id) 
from (
   select *,@num := if(@company_id = company_id, @num + 1, 1) as row_number,@company_id := company_id as dummy 
   from salebuild_ctl.company_contact 
   where id in (12352,59898,59899,59900,59901,59902,59903,59904,14047,15196,15197,41402,41403,41404,41405)  
   order by company_id,  date_created asc  
) as x 
where x.row_number <= 2; 
4

1 に答える 1

1

その理由は、初めて使用するためですSET @num=0が、次回クエリを実行するときに再度設定しない0ため、2回目の実行に時間がかかります@num=15

2回目の走行前に正しく走行するために行うことSET @num=0

于 2013-03-01T07:16:07.190 に答える