PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để sắp xếp các đối tượng vào các nhóm được xây dựng dưới dạng biểu thức JPQL hợp lệ?

Trước hết, bạn cần một cách JPA để tính toán sự khác biệt giữa startDatepageDate trong đơn vị tương ứng, hơi khó lập công thức vì nó rất phụ thuộc vào cơ sở dữ liệu. Cuối cùng, bạn sẽ cần một số chức năng tùy chỉnh hoặc viết một truy vấn JPQL rất phức tạp.

Tính toán ngày giữa hai ngày trong PostgreSQL dễ dàng như thực hiện date_part('day', t2 - t1) . Đối với những giờ bạn đã cần date_part('day', t2 - t1) * 24 + date_part('hour', t2 - t1) và phút date_part('day', t2 - t1) * 24 * 60 + date_part('hour', t2 - t1) * 60 + date_part('minute', t2 - t1) .

Để sử dụng các hàm cơ sở dữ liệu này trong JPQL, bạn có thể sử dụng FUNCTION cú pháp như FUNCTION('date_part', 'day', :startDate - pageDate) .

Cuối cùng, bạn sẽ nhóm theo một biểu thức như vậy và thực hiện đếm theo id, giống như sau

SELECT COUNT(o.id) FROM MyObject o GROUP BY FUNCTION('date_part', 'day', :startDate - o.pageDate)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Một thiết kế PHP, Python, PostgreSQL có phù hợp cho một ứng dụng kinh doanh không?

  2. RANGE PRECEDING chỉ được hỗ trợ với UNBOUNDED

  3. Amazon Aurora PostgreSQL CHỌN VÀO OUTFILE S3

  4. Kiểm tra các mục tiêu thống kê trong PostgreSQL

  5. Kích hoạt Postgres để cập nhật bộ đệm Java