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

Relacja wiele-do-wielu wybierz i uporządkuj według

Prawdopodobnie coś podobnego do tego:

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

Przy okazji:możesz chcieć przechowywać 1/0 zamiast t/n w bazie danych, aby nie potrzebować wywołania IF



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie GTFS, aby wyświetlić wszystkie godziny odjazdów i przylotów między dwoma nazwami przystanków

  2. innodb_lock_wait_timeout zwiększa limit czasu

  3. JUser::_load:Nie można załadować użytkownika, chociaż użytkownik istnieje we wszystkich 3 głównych tabelach joomla

  4. Błąd łącznika MySQL Wartość strefy czasowej serwera Czas środkowoeuropejski

  5. Zmień typ kolumny z Date na DateTime podczas migracji ROR