相关疑难解决方法(0)

如何通过SQL中的另一列选择MAX(列值),DISTINCT的行?

我的表是:

id  home  datetime     player   resource
---|-----|------------|--------|---------
1  | 10  | 04/03/2009 | john   | 399 
2  | 11  | 04/03/2009 | juliet | 244
5  | 12  | 04/03/2009 | borat  | 555
3  | 10  | 03/03/2009 | john   | 300
4  | 11  | 03/03/2009 | juliet | 200
6  | 12  | 03/03/2009 | borat  | 500
7  | 13  | 24/12/2008 | borat  | 600
8  | 13  | 01/01/2009 | borat  | 700
Run Code Online (Sandbox Code Playgroud)

我需要选择每个不同的 …

mysql sql max distinct greatest-n-per-group

727
推荐指数
13
解决办法
142万
查看次数

JPA:加入JPQL

我以为我知道如何使用JOIN,JPQL但显然不是.谁能帮我?

select b.fname, b.lname from Users b JOIN Groups c where c.groupName = :groupName
Run Code Online (Sandbox Code Playgroud)

这给了我例外

org.eclipse.persistence.exceptions.JPQLException
Exception Description: Syntax error parsing the query
Internal Exception: org.eclipse.persistence.internal.libraries.antlr.runtime.EarlyExitException
Run Code Online (Sandbox Code Playgroud)

Users与...有OneToMany关系Groups.

Users.java

@Entity
public class Users implements Serializable{

    @OneToMany(mappedBy="user", cascade=CascadeType.ALL)
    List<Groups> groups = null;
}
Run Code Online (Sandbox Code Playgroud)

Groups.java

@Entity
public class Groups implements Serializable {
    @ManyToOne
    @JoinColumn(name="USERID")
    private Users user;
}
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是让这个查询返回一个唯一的结果,如果我这样做

String temp = (String) em.createNamedQuery("***")
    .setParameter("groupName", groupName)
    .getSingleResult();
Run Code Online (Sandbox Code Playgroud)

***代表上面的查询名称.所以确实fnamelname内部连接在一起temp或者我拿到List<String> …

java jpa eclipselink jpql

35
推荐指数
1
解决办法
11万
查看次数

标签 统计

distinct ×1

eclipselink ×1

greatest-n-per-group ×1

java ×1

jpa ×1

jpql ×1

max ×1

mysql ×1

sql ×1