最初のクエリでテーブルの上半分を取得する必要があり、次のクエリでは下半分が必要です。
私はトップのためにこれをやろうとしましたが、うまくいきません
SELECT * FROM t_domains WHERE type_domain='radio' ORDER BY
date_created DESC LIMIT 0, (COUNT(*) / 2)
関数が機能するには、2 つのクエリとして必要です。
誰にもポインタやヒントがありますか?
最初のクエリでテーブルの上半分を取得する必要があり、次のクエリでは下半分が必要です。
私はトップのためにこれをやろうとしましたが、うまくいきません
SELECT * FROM t_domains WHERE type_domain='radio' ORDER BY
date_created DESC LIMIT 0, (COUNT(*) / 2)
関数が機能するには、2 つのクエリとして必要です。
誰にもポインタやヒントがありますか?
2 つのクエリを実行することをお勧めします。
select count(*) from t_domains
合計数を取得してから、制限とオフセットを使用して必要なデータを取得します。
select * from t_domains limit count/2
トップと
select * from t_domains offset count/2
下半身用……
このアプローチは、別の状況でクエリを制限する方法も提供します。テーブルに 100 万のレコードが含まれている場合はどうなるでしょうか。
前半
mysql-> SET @n := 0
mysql-> SELECT *,nnn FROM (
SELECT *, @n := @n + 1 AS nnn FROM t_domains ORDER BY date_created
) AS t
WHERE nnn <= ( SELECT COUNT(date_created) / 2 FROM t_domains ) AND type_domain = 'radio'
後半はここを変更 WHERE nnn <= this "<" on this ">"
これは常に機能します。
カウントを保存する
SELECT COUNT(*) FROM t_domains WHERE type_domain='radio'
次に、保存されたカウントを使用します。
SELECT * FROM t_domains WHERE type_domain='radio' ORDER BY
date_created DESC LIMIT 0, {$stored_count/2}