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

count(*)を使用したMYSQL選択クエリ

    実際に達成したいことをさらに詳しく説明したので、問題ははるかに複雑であることがわかります。実際には、subscriber_idのすべての組み合わせが必要です およびtag_id 、次に、結合されたテーブル製品の実際のエントリの数をカウントします。ふぅ。ここにSQLがあります:

    SELECT combinations.tag_id,
           combinations.subscriber_id,
    
    -- correlated subquery to count the actual hits by tag/subscriber when joining
    -- the two tables using content_id
    
           (SELECT count(*)
            FROM content_hits AS h
            JOIN content_tag AS t ON h.content_id = t.content_id
            WHERE h.subscriber_id = combinations.subscriber_id
            AND t.tag_id = combinations.tag_id) as cnt
    
    -- Create all combinations of tag/subscribers first, before counting anything
    -- This will be necessary to have "zero-counts" for any combination of
    -- tag/subscriber
    
    FROM (
      SELECT DISTINCT tag_id, subscriber_id
      FROM content_tag
      CROSS JOIN content_hits
    ) AS combinations
    


    1. 週の開始日と終了日を取得しますか? SQLサーバーで?

    2. SQLServerUNION-デフォルトのORDERBYの動作は何ですか

    3. MySql Triggerは、挿入後に選択合計を更新します

    4. Laravelの移行(errno:150外部キー制約が正しく形成されていません)