MySQL の各カテゴリから上位 5 項目を返す
チャレンジ:
上位 5 メニューの取得"menus" と "menuitems" の 2 つのテーブルで構成されるデータベース内の各カテゴリの項目。
解決策:
提示されたコードは、上位 5 つの項目を表示することを目的としています。メニューカテゴリーごとに。ただし、サブクエリが複数の行を取得するため、エラーが返されます。これに対処するには、副作用のある変数を利用して、カテゴリ内の各行の位置を追跡できます。
SELECT profilename, name FROM ( SELECT m.profilename, s.name, @r:=case when @g=m.profilename then @r+1 else 1 end r, @g:=m.profilename FROM (select @g:=null,@r:=0) n cross join menus m left join menuitems s on m.menuid = s.menuid ) X WHERE r <= 5
内訳:
以上がMySQL の各カテゴリから上位 5 つのメニュー項目を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。