1
我有兩個表:sales
和products
JPA:加入並按總和分組。 MySQL查詢
[Products]
+-------+-------------------+
| id | name |
+-------+-------------------+
| 1 | product number 1 |
| 2 | product number 2 |
| 3 | product number 3 |
+-------+-------------------+
[Sales]
+-------+------------+------+
| id | product_id | qty |
+-------+------------+------+
| 1 | 2 | 100 |
| 2 | 2 | 35 |
| 3 | 1 | 1 |
+-------+-------------------+
我想顯示像這樣用的JavaEE和JPA:
Most selled products :
+------------------+------------+
| Product name | Quantity |
+------------------+------------+
| product number 2 | 135 |
| product number 1 | 1 |
+------------------+------------+
我面臨兩個問題:
- 我只知道如何檢索對象,所以我可以顯示產品的名稱,但不是數量已選,因爲它是一個計算值。
- 我不知道如何查詢我的數據庫來獲取正確的信息
這是我已經試過:
public List<Product> getMostSelledProducts() {
Query q = em.createQuery("SELECT p FROM Sale s RIGHT JOIN Product p GROUP BY s.productId ORDER BY COUNT(s.productId)");
return q.getResultList();
}
我應該怎麼做這樣的事?
謝謝:)但是,那麼應該是什麼類型的迴應?我無法返回產品,因爲我會丟失數量信息... – mimipc 2013-03-22 17:05:38
您能否僅返回列表而不是列表? –
spullen
2013-03-22 17:12:39