私は2つのテーブルを持っています:sales
そしてproducts
[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 |
+------------------+------------+
私は2つの問題に直面しています:
- 私はオブジェクトを取得する方法しか知らないので、製品名は表示できましたが、販売数量は計算値であるため表示できませんでした。
- データベースにクエリを実行して正しい情報を取得する方法がわからない
これは私が試したことです:
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();
}
そんなことどうしたらいいの?