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

Referencer til ydre forespørgsel i underforespørgsel

Du kan gøre sådan noget med et join:

select * from table a
    inner join (
       select id,
              max(
                  if(`date` <= __LOWERLIMIT__ ,`date`, 0)
              ) as min_date,              
              min(
                 if(`date` >= __UPPERLIMIT__ , `date`, UNIX_TIMESTAMP())
              ) as max_date
           from table
           where id = __ID__
           group by id
    ) range on
    range.id = a.id and
    a.`date` between min_date and max_date;

Jeg er ikke MySQL-ekspert, så undskyld, hvis der er behov for lidt syntaksjustering.

Opdatering: OP fandt også denne meget fine løsning .




  1. drupal sql betingede klausuler for flere tabeller?

  2. CodeIgniter skifter driver fra mysql --> mysqli

  3. Introduktion til Row-Level Security i SQL Server

  4. MySQLd starter ikke efter brygopgradering fra 5.6 til 5.7