この質問が聞かれた可能性があることは知っていますが、これは検索機能で見つけたものよりも少し複雑だと思います.
PHP コードを使用して、MySQL テーブルからの結果を、別のテーブルからの出現回数 (存在する場合) で並べ替えたいと考えています。
具体的に説明させてください。
私は2つのテーブルを持っています:
次の非網羅的なコンテンツを含む「投稿」と呼ばれる最初のテーブル:
- ID
- ...
次の非網羅的な内容を含む「post_votes」と呼ばれる 2 番目のテーブル:
- ID
- post_id
- ユーザーID
- ...
実際には、ユーザーが既存の投稿 (「post」テーブルにリストされているもの) に投票すると、「post_votes」テーブルにレコードが作成され、投稿 ID が post_id として、ユーザー ID が user_id として挿入されます。したがって、複数のユーザーが投稿に投票した場合、0 から数回の投稿が存在する可能性があり、これが投稿の投票数になります。
さて、これが私の結果の順序付け方法です。「post」テーブルにリストされている投稿を、投票、つまり「post_votes」テーブルからの出現回数で並べ替える必要があります。
ただし、覚えておくべきことの 1 つは、一部の投稿がまったく投票されない可能性があり、たとえば、2 番目のテーブルに 0 件が見つかることです。
このトピックに関するヘルプをいただければ幸いです。