Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

làm cách nào để nhận giá trị trường trong 3 bảng liên kết với giá trị tối đa của ngày

Bạn gặp sự cố về cách chọn ngày tối đa, vì tháng được hiển thị đầu tiên. Một cách khác là hiển thị giá trị max_date (từ một truy vấn phụ). Sau đó, bạn có thể so sánh theo các phần khác nhau của ngày . Mã như sau:

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

Thử nghiệm tại đây .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn tìm kiếm MySQL trên hai trường khác nhau

  2. Làm thế nào để xóa các bản ghi trong bảng được lặp lại?

  3. Sử dụng UUID làm khóa chính với Laravel 5

  4. utf8_bin so với utf_unicode_ci

  5. MySQL Chèn nếu điều kiện