PostgreSQL: disk belleği çıktı kullanılarak Satır_sayısı ()

0 Cevap php

Ben onların "sanal para" ile kriteri oyuncuların bir listesini görüntüleyen bir PHP komut dosyası var:

$sth = $db->prepare("
select u.id,
        u.first_name,
        u.city,
        u.avatar,
        m.money,
        u.login > u.logout as online
from pref_users u, pref_money m where
        m.yw=to_char(current_timestamp, 'IYYY-IW') and
        u.id=m.id
order by m.money desc
limit 20 offset ?
");
$sth->execute(array($_GET['offset']));

Ben isimlerini ve daha fazla veri yazdırma sırasında bir döngü içinde artırılır bir PHP değişkeni $ Poz kullanmak listesinde bir oyuncu konumunu göstermek için.

Ben çeşitli nedenlerle yerine PHP SQL deyiminde bu konumunu istiyorum. Yani şu çalışıyorum:

$sth = $db->prepare("
select u.id,
        row_number() + ? as pos,
        u.first_name,
        u.city,
        u.avatar,
        m.money,
        u.login > u.logout as online
from pref_users u, pref_money m where
        m.yw=to_char(current_timestamp, 'IYYY-IW') and
        u.id=m.id
order by m.money desc
limit 20 offset ?
");
$sth->execute(array($_GET['offset'], $_GET['offset']));

Ama olsun ERROR: window function call requires an OVER clause

I over(m.money) ekleyebilir ancak bir sözdizimi hatası almaya çalışıyorum.

Herhalde Window Functions doktor yanlış anlama var.

0 Cevap