sql >> Database teknologi >  >> RDS >> Mysql

Mange-til-mange forhold vælg og bestil efter

Sandsynligvis noget lignende dette:

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

Forresten:Du vil måske gemme 1/0 i stedet for y/n i databasen, så du ikke får brug for IF-kaldet



  1. Nginx - Downloader PHP i stedet for at køre

  2. Metode til at finde huller i tidsseriedata i MySQL?

  3. Hvordan viser man MySQL-databaser på et PHP-script?

  4. ASP-medlemskab Ulige problem