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

Сложна COUNT заявка в MySQL

Предложението на X-Zero за добавяне на „кредит на качващия“ към данните е най-добрият начин да запазите заявката проста. Ако това не е опция, направете вътрешно свързване между userprofile_videoinfo и userprofile_videocredit, за да улесните премахването на дубликати:

SELECT u.id, u.full_name, COUNT(DISTINCT v.video_id) as credit_count
FROM userprofile_userprofile u
LEFT JOIN (SELECT vi.video_id, vi.uploaded_by_id, vc.profile_id as credited_to_id
    FROM userprofile_videoinfo vi
    JOIN userprofile_videocredit vc ON vi.id = vc.video_id
    ) v ON u.id = v.uploaded_by_id OR u.id = v.credited_to_id
GROUP BY u.id, u.full_name
ORDER BY credit_count DESC

Подзаявката може да бъде полезна за създаване като изглед.



  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 от mysql

  2. Последен индекс на даден подниз в MySQL

  3. Какъв е най-бързият начин за анкетиране на MySQL таблица за нови редове?

  4. Как да конвертирам колона в ASCII в движение, без да записвам, за да проверя за съвпадения с външен ASCII низ?

  5. group_concat MYSQL нов ред