我正在尝试将以下SQL查询编写为JPA查询。 SQL查询有效(MySQL数据库),但我不知道如何翻译它。我在第一个FROM
之后立即收到错误令牌。这里可能还有其他错误,因为我无法找到有关如何在from部分,别名等中进行子查询的任何指南。
SQL查询
SELECT tbl.* from (
SELECT u.*, COUNT(u.id) AS question_count FROM app_user AS u
INNER JOIN question AS q ON u.id = q.user_id GROUP BY u.id
) AS tbl ORDER BY tbl.question_count DESC LIMIT 10;
JPA查询:
SELECT tbl FROM (SELECT u, COUNT(u.id) question_count FROM User u
INNER JOIN u.questions q ON u.id = q.user_id GROUP BY u.id) tbl
ORDER BY tbl.question_count LIMIT 10")
答案 0 :(得分:0)
我现在无法对此进行任何测试,但有些内容如下:
final String queryStr = "SELECT u, COUNT(u.id) FROM User u, Questions q WHERE u.id = q.user_id GROUP BY u.id ORDER BY COUNT(u.id) DESC";
Query query = em().createQuery(queryStr);
query.setMaxResults(10);
List<Object[]> results = query.getResultList(); //Index [0] will contain the User-object, [1] will contain Long with result of COUNT(u.id)