3

さまざまなカテゴリのレコードを一覧表示する特集ページに取り組んでいます。最新 5 件、閲覧頻度の低い 5 件、閲覧数の多い 5 件..

その部分は難しくありません。

最新:SELECT TOP 5 * ORDER BY ID_Record DESC

少しでも:SELECT * FROM tbl_Name WHERE ORDER BY Hits_Field LIMIT 5

多くの:SELECT * FROM tbl_Name WHERE ORDER BY Hits_Field DESC LIMIT 5

これが私の質問です..最新のレコードはおそらく最も表示されていないため、両方のクエリに表示される可能性があります. 最新の 5 つのレコードを考慮から除外したい。次のような SQL ステートメントを作成するにはどうすればよいですか。

SELECT * FROM tbl_Name 
WHERE (NOT THE 5 NEWEST ID_Record BUT ALL OTHERS STILL IN CONSIDERATION) 
ORDER BY Hits_Field LIMIT 5

NOT IN の考慮事項があることは知っていますが、これは初めてであり、ネストされたステートメントを作成するのに助けが必要です。

4

5 に答える 5

2

これはうまくいくかもしれません:

"SELECT * from table_name where Id_Record not in (SELECT Id_Record from table_name order by Hits_Field LIMIT 5) order by Hits_Field LIMIT` 5"
于 2013-02-08T18:36:56.807 に答える
2

試す

SELECT * 
FROM `tbl_Name`
ORDER BY `Hits_Field`
LIMIT 5,5

LIMIT実際には、オフセットとレコードの量の 2 つのパラメータを持つことができます。したがって、最初の 5 つのレコードをドロップして次の 5 つのレコードを選択する場合は、 を使用しますLIMIT 5,5

于 2013-02-08T17:40:59.473 に答える
1

オフセットできます

SELECT * FROM tbl_Name 
ORDER BY Hits_Field LIMIT 5,5
于 2013-02-08T17:41:11.397 に答える
1

Limit パラメータを使用します。

1) 最新の 5 レコードを除外するには

SELECT * FROM tbl_Name ORDER BY Hits_Field ASC LIMIT 5 [Parameter to display from **5** th record], 1000[Parameter to display up to 1000 record];

2) 閲覧数の少ない(最も古い) 5 レコードを削除するには

SELECT * FROM tbl_Name ORDER BY Hits_Field DESC LIMIT 5 [Parameter to display from **5** th record], 1000[Parameter to display up to 1000 record];

これが役立つことを願っています。

于 2013-02-08T18:16:26.543 に答える
0

ロジックは、最も閲覧数の少ない 10 件を取得し (5 件を除外するのに十分なレコードを確保するため)、最新のレコードにも表示されるものをすべて削除し (最大 5 件ですが、それより少ない場合もあります)、その数量を 5 件に制限します。

EXCEPT または MINUS を試してください。

SELECT * FROM 
(
SELECT * FROM tbl_Name WHERE ORDER BY Hits_Field LIMIT 10
EXCEPT
SELECT TOP 5 * ORDER BY ID_Record DESC
)
LIMIT 5
于 2013-02-08T18:01:52.223 に答える