sql >> Databasteknik >  >> RDS >> Mysql

Många-till-många relation välj och beställ efter

Förmodligen något liknande detta:

SELECT
    a.person_id
FROM
    table AS a,
    table AS b
WHERE
    a.person_id = b.person_id AND
    a.favorite_id = 1 AND
    b.favorite_id = 2
ORDER BY
    ( IF( a.is_main_favorite = "y", 1, 0 )
      +
      IF( b.is_main_favorite = "y", 1, 0 ) ) DESC

Förresten:Du kanske vill lagra 1/0 istället för y/n i databasen så att du inte behöver IF-anropet



  1. Finns det något sätt att skapa en automatiskt ökande Guid Primary Key i en Oracle-databas?

  2. Returnera en lista över databaser i SQLite

  3. Att välja rätt väg i ett kravutlåtande

  4. Enklaste sättet för PHP e-postverifieringslänk