Mysql
 sql >> база данни >  >> RDS >> Mysql

как мога да получа стойност на полето в 3 асоциативни таблици с максимална дата

Имахте проблем как да изберете максималната дата, тъй като месецът се показваше първи. Друг начин е да покажете стойността на max_date (от подзаявка). След него можете да сравнявате по различните части на датата . Кодирайте както следва:

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

Тестване тук .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Данните са твърде дълги за колона в Django на MySQL

  2. Memcache срещу MySQL в паметта

  3. Подредете по максимална стойност в три различни колони

  4. Защо моята заявка с няколко колони е драматично по-бавна от съответните заявки с една колона, дори и с индекс от няколко колони?

  5. MySQL:използвайте повторно автоматично увеличение по време на вмъкване