Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête SQL avec MySQL

Je pense que vous demandez le top 3 des Deliverable s de Task commandé par ID. Vous pouvez essayer quelque chose comme ceci :

Modifier : Ok, je vais essayer encore une fois. Cela devrait vous donner les 3 meilleurs Deliverable s trié par Task.id ne prenant que le Deliverable associé au 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();