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

Query SQL con MySQL

Penso che tu stia chiedendo i primi 3 Deliverable s da Task ordinato per ID. Potresti provare qualcosa del genere:

Modifica: Ok, farò un'altra pugnalata a questo. Questo dovrebbe darti i primi 3 Deliverable è ordinato per Task.id prendendo solo il Deliverable associato al max(Task.id)

deliverables = 
        (List<Deliverable>) session.createQuery(
            "from Deliverable as d, Task as t
                where t.deliverable.id = d.id and
                t.id = (select max(t1.id) from Task t1 where t1.deliverable.id = d.id)
                and d.project.id= :id
                and t.user.username = :name
                order by t.id desc")
        .setMaxResults(3)
        .setLong("id", projectId)
        .setString("name", username)
        .list();