ホームページ >バックエンド開発 >PHPチュートリアル >php+mysqlはレコードの場所を決定します

php+mysqlはレコードの場所を決定します

WBOY
WBOYオリジナル
2016-06-20 12:28:48873ブラウズ

ID Catid Order
1 1 1
2 1 5
3 2 3
4 1 2
5 2 15
7 1 11
8 1 9
...
152 1 155
153 1 143

必要なのは、現在の CATID の下でこの ID が

たとえば、指定された ID は 7 で、対応する Catid は 1 です。 SQL ステートメントは次のとおりです。

SELECT * FROM `news_list` WHERE `TId` =1ORDER BY `order` ASC LIMIT x , 30
順序に従ってソートされており、大量のデータがあるためです。

解決する必要がある問題は次のとおりです。

たとえば、ID=7 とすると、ID が属する Catid に基づいて、取得された結果内でのこの ID の位置を計算します。 (7 は 4 番目の記録です)

マスターの皆様のお役に立てれば幸いです。

ps: データ量が多く、条件に合うレコードを全て読み出して判定することはできません。

私の答えは次のとおりです:

set @i :=0;SELECT @i :=@i+1 as num,news_list.* FROM `news_list` WHERE `catid` =1ORDER BY `order` ASC LIMIT 0 , 30

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。