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

SQL Vælg mellem to tabeller med indre sammenføjning og grænse

Du kan gøre dette:

SELECT 
  ser.id, 
  ser.name, 
  s.status, 
  s.timestamp 
FROM Service ser 
INNER JOIN status as s ON s.service_id = ser.id
INNER JOIN
(
   SELECT
     service_id, 
     MAX(timestamp) AS MaxDate
   FROM status 
   GROUP BY service_id
) AS a  ON a.service_id = s.service_id 
       AND a.MaxDate = s.timestamp;

Sammenføjningen med underforespørgslen:

SELECT
  service_id, 
  MAX(timestamp) AS MaxDate
FROM status 
GROUP BY service_id

Vil fjerne alle statusser undtagen den med den seneste dato.



  1. Hvordan håndterer man SQL-kolonnenavne, der ligner SQL-nøgleord?

  2. Django:Forespørgselsgruppe efter måned

  3. Det svarer til SQLServer-funktionen SCOPE_IDENTITY() i mySQL?

  4. Oracle UTL_FILE læste CSV-fillinjer