Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage mit MySQL

Ich denke, Sie fragen nach den Top 3 Deliverable s von Task geordnet nach ID. Sie könnten so etwas versuchen:

Bearbeiten: Ok, ich probier das noch einmal aus. Dies sollte Ihnen die Top 3 Deliverable geben s geordnet nach Task.id nur das Deliverable nehmen der max(Task.id) zugeordnet ist

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();