sql >> データベース >  >> RDS >> Mysql

mysqlは制限付きの内部結合を選択します

    ランククエリを使用できます。mysqlにはこのタイプの結果のウィンドウ関数がなく、グループごとにn個のレコードを取得できます。group_concatは提案しません。 articlesとしての解決策 用語によると、十分なデータがあり、1024文字の制限制約を簡単に渡すことができます。この制限を増やすと、 max_allowed_packet あまりにも

    SELECT * FROM (
    SELECT *,
    @r:= CASE WHEN @g = c.id THEN @r +1 ELSE 1 END rownum,
    @g:= c.id catgroup
     FROM category c
     JOIN articles a ON (c.id = a,category_id)
    CROSS JOIN (SELECT @g:=0,@r:=0) t2
    ORDER BY c.id , a.`date` desc
    ) t
     WHERE rownum <= 5
    

    上記は、rownumの結果を確認できるカテゴリグループ内の各記事をランク付けします。 エイリアスと外部クエリでは、記事の結果をカテゴリグループごとに5つにフィルタリングするだけです



    1. ORDER BY NULLを指定したLISTAGGは、実際に注文基準として何を使用しますか?

    2. KNIME

    3. SQLServerで制約のある列を削除する方法

    4. 多くの隣接する行でWHEREを使用してPostgresクエリを痛々しいほど遅くする