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

MySQL извличане на данни от 3 таблици - обединения и макс

Искате максимум по групи :

SELECT * FROM Video JOIN (

  SELECT   VideoTags.tag_id, MAX(points) points
  FROM     Video JOIN VideoTags ON Video.id = VideoTags.video_id
  GROUP BY VideoTags.tag_id

) t USING (points) JOIN Tags ON t.tag_id = Tags.id

Вижте го на sqlfiddle .

Имайте предвид, че тази заявка връща всички видеоклипове с максимален брой точки във всеки маркер, така че повече от един запис ще бъде върнат за обвързани тагове. Ако искате да върнете само един запис в такива ситуации, моля, посочете как да определите видеоклипа, който трябва да бъде върнат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да спра MySQL заявка, ако отнема твърде много време?

  2. MySQL преобразува тип данни на колона от VARCHAR в INT

  3. MySQL вмъкнете там, където не съществува / ако не съществува

  4. Как да намеря (декодирам) PostgreSQL заявка от Wireshark File?

  5. Вземете потребителски коментар от Mysql с помощта на Php