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

Podzapytanie MySQL z główną zmienną danych zapytania

Dlaczego nie zacząć od wstępnego zapytania użytkownika i wszystkich napojów, które zaoferowali, oraz od kiedy (nie wiem, czy masz wiele komentarzy na osobę dla danego drinka, czy nie). Następnie znajdź komentarze od wszystkich innych PO takim komentarzu o dacie/godzinie...

To zapytanie powinno być w rzeczywistości szybsze, ponieważ ZACZYNA SIĘ od komentarzy dotyczących napojów tylko JEDNEGO UŻYTKOWNIKA, POTEM wraca do tabeli komentarzy dla tych, które pasują do identyfikatora napoju i czasu granicznego.

SELECT STRAIGHT_JOIN
      dc.*
   from 
       ( select
               drinkID,
               max( datetime ) UserID_DrinkCommentTime
            FROM 
               drinkComments 
            WHERE
               userID = 1
            group by
               drinkID ) PreQuery
       join DrinkComments dc
         on PreQuery.DrinkID = dc.DrinkID
         and dc.datetime > PreQuery.UserID_DrinkCommentTime
   order by
      dc.DateTime 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. MySQL :Wiele wierszy jako pojedynczy wiersz oddzielony przecinkami

  2. mysql użyj grupuj po kolumnie, w której warunek

  3. Czy php może przeszukiwać wyniki poprzedniego zapytania?

  4. Jak uzyskać średnie trafienia między datą bieżącą a datą opublikowania w MySQL?

  5. Jak utworzyć tabelę mysql z domyślną sygnaturą czasową kolumny current_date?