sql >> Databáze >  >> RDS >> Mysql

jak mohu získat hodnotu pole ve 3 asociačních tabulkách s maximálním datem

Měli jste problém, jak vybrat maximální datum, protože měsíc se zobrazoval jako první. Jiný způsob je vyvolat hodnotu max_date (z dílčího dotazu). Poté můžete porovnat podle různých částí data . Kódujte následovně:

select site_name, site_date, name 
 from
  (
    select  site_name, st.date as site_date, name, s.id, (select max(sto.date) from site_topology sto) as max_date
    from site s 
     inner join site_topology st on s.id =st.id_site
     inner join topology t on st.id_topology = t.id 
  )  as v
 where YEAR(site_date) = YEAR(max_date) AND MONTH(site_date) = MONTH(max_date) AND DAY(site_date) = DAY(max_date)
 group by name
 order by site_name

Testování zde .



  1. Transformace tabulky / parsování polí v PL/SQL

  2. IN Operátor SQL

  3. Výsledky dotazu MYSQL vytištěny dvakrát pomocí PDO

  4. vztah mysql n:m:Najděte řádky s několika specifickými vztahy