PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak sortowanie obiektów w wiaderka może być sformułowane jako poprawne wyrażenie JPQL?

Przede wszystkim potrzebujesz metody JPA na obliczenie różnicy między startDate i pageDate w odpowiedniej jednostce, co jest nieco trudne do sformułowania, ponieważ jest bardzo zależne od bazy danych. Na koniec będziesz potrzebować niestandardowych funkcji lub napisać bardzo skomplikowane zapytanie JPQL.

Obliczanie dni między dwiema datami w PostgreSQL jest tak proste, jak wykonanie date_part('day', t2 - t1) . Dla godzin, które już potrzebujesz date_part('day', t2 - t1) * 24 + date_part('hour', t2 - t1) i minuty date_part('day', t2 - t1) * 24 * 60 + date_part('hour', t2 - t1) * 60 + date_part('minute', t2 - t1) .

Aby korzystać z tych funkcji bazy danych w JPQL, możesz użyć FUNCTION składnia taka jak FUNCTION('date_part', 'day', :startDate - pageDate) .

Na koniec będziesz grupować według takiego wyrażenia i liczyć według identyfikatora, coś takiego jak poniżej

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. Jak eksportować pliki pełnotekstowe za pomocą SQL?

  2. ustaw puste hasło dla użytkownika PostgreSQL

  3. Funkcje Postgresa

  4. Najwcześniejszy znacznik czasu obsługiwany w PostgreSQL

  5. Jak uzyskać całkowitą liczbę tabel w postgresql?