PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Върнете всеки n-ти ред от база данни с помощта на ActiveRecord в релси

Мисля, че търсите заявка като тази:

SELECT * FROM (SELECT widgetstats.*, row_number() OVER () AS rownum FROM widgetstats ORDER BY id) stats WHERE mod(rownum,3) = 0

Това е трудно да се създаде с помощта на ActiveRecord, така че може да се наложи да направите нещо като:

@widgetstats = self.widgetstats.find_by_sql(
  %{
    SELECT * FROM
    (
      SELECT widgetstats.*, row_number() OVER () AS rownum FROM widgetstats ORDER BY id
    ) AS stats
    WHERE mod(rownum,3) = 0
  }
)

Очевидно ще искате да промените използвания ред и да добавите клаузи WHERE или други модификации, които да отговарят на вашите нужди.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с база данни чрез SSH с помощта на DataGrip

  2. Как да импортирам sql файл от базата данни Northwind в PostgreSQL?

  3. Трябва ли да изтрия полето за идентификатор по подразбиране, когато използвам низов първичен ключ в Rails / Postgres?

  4. Създайте индекс с няколко колони, за да наложите уникалност

  5. psql задава default statement_timeout като потребител в postgres