Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql Wybierz różne rekordy tylko z ostatnich dat

Wypróbuj to zapytanie

Jeśli chcesz tylko dla user1 następnie użyj tego zapytania:

select username, course_id, max(ldate) as date
from tbl 
where username='user1'
group by username, course_id

SQL FIDDLE

| USERNAME | COURSE_ID |       DATE |
-------------------------------------
|    user1 |        22 | 2013-06-03 |
|    user1 |        54 | 2013-06-03 |

Jeśli chcesz znaleźć najnowszą datę dla wszystkich użytkowników, użyj tego zapytania

select username, course_id, max(ldate) as date
from tbl 
group by username, course_id

W tym zapytaniu dane user2 zostanie również uwzględniony

| USERNAME | COURSE_ID |       DATE |
-------------------------------------
|    user1 |        22 | 2013-06-03 |
|    user1 |        54 | 2013-06-03 |
|    user2 |        71 | 2013-06-04 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcje agregujące MySQL bez klauzuli GROUP BY

  2. Baza danych uśpiona i powodująca wyjątek

  3. Yii2 – lewe dołączenie pod warunkiem wielokrotnym

  4. Entity Framework z mysql, problem z kapitalizacją tabel między linuxem a Windows

  5. Uruchamianie wielu instrukcji SQL z Groovy