Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie wybierające MYSQL przy użyciu licznika (*)

Teraz, gdy szczegółowo omówiłeś, co faktycznie chcesz osiągnąć, widać, że problem jest znacznie bardziej złożony. Właściwie chcesz wszystkie kombinacje subscriber_id i tag_id , a następnie policz liczbę rzeczywistych wpisów w połączonym produkcie tabeli. uff. Więc tutaj idzie 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. php 5.x 7.x, błąd pdo ssl:certyfikat równorzędny CN=`jakaśNazwa' nie pasuje do oczekiwanego CN='jakieśIP'

  2. Wyniki autouzupełniania pól tekstowych na podstawie bazy danych SQL

  3. Instrukcja SQL, aby uzyskać datę za 2 dni od teraz

  4. Składnia SQL „LIKE”

  5. Czy wyszukiwanie pełnotekstowe jest odpowiedzią?