Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявка за избор на 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете знака % в заявка LIKE

  2. MySQL MAX() функция за сравняване на числови стойности в актуализация?

  3. приложението не успява да се свърже с mysql библиотеки (CentOS)

  4. интеграция на spring 3, hibernate 3, maven и mysql

  5. Как да свиете/изчистите ibdata1 файл в MySQL