3

アクティブなジョブを持つ個別の雇用者 ID を選択する必要があるという要件がありますが、難しいのは、常に偶数の行を返すようにクエリを制限する必要があることです。

例えば

アクティブなジョブを持つ個別の雇用主が 10 の場合、10 を返すことができますが、それでも問題はありませんが、アクティブなジョブを持つ雇用者の数が 9 の場合は、8 に制限する必要があります。

注: この要件は、ページの行数が偶数であることを確認することであり、これによりページのバランスが表示されます。第二に、コーディングでこれを行うことができることはわかっていますが、結果が memcached にキャッシュされるため、可能であれば MySQL クエリベースのソリューションをもっと探しています。コーディングレベルでこれを行うには php が複雑になります。

4

1 に答える 1

3

count が奇数の場合、最後のレコードで何をしたいのか明確ではありません。また、クライアント側でこれを行う必要があると思います。たとえばA、フィールドを持つテーブルがありますval。偶数個の個別が必要ですval

SQLFiddle デモ

select val 
from
(
select val,
   @rn:=@rn+1 rownum
from (select distinct val from A) A1,
     (select @rn:=0) t1
order by val
) T2
where rownum<=
     ((select count(distinct val) from A) div 2)*2
于 2013-11-05T12:20:16.160 に答える