0

「ORA-00907: 右括弧がありません」というエラーが表示されますが、確認したところすべての括弧が存在するため、困惑しています。

私のクエリは

SELECT 
  SUM(score) as score, 
  facebook_id, 
  firstname, 
  lastname, 
  dense_rank(score) 
WITHIN GROUP ( ORDER BY score ) as rank_db  
FROM 
  (
    SELECT DISTINCT *
    FROM 
      (
        SELECT *  
        FROM fanta_score 
        ORDER BY score desc
      ) as f 
    GROUP BY 
      facebook_id, game_id
  ) as g 
GROUP BY facebook_id
ORDER BY score DESC, created_at
LIMIT 50 

私は決してOracleの専門家ではありませんが、ホスティング環境が必要なため、Oracleを使用する必要があります.

4

1 に答える 1

0

LIMIT コマンドは Oracle では認識されません。また、 Limitの代わりにROWNUMを使用する必要があります。

SELECT 
  SUM(score) as score, 
  facebook_id, 
  firstname, 
  lastname, 
  dense_rank(score) 
WITHIN GROUP ( ORDER BY score ) as rank_db  
FROM 
  (
    SELECT DISTINCT *
    FROM 
      (
        SELECT *  
        FROM fanta_score 
        ORDER BY score desc
      ) as f 
    GROUP BY 
      facebook_id, game_id
  ) as g
WHERE ROWNUM = 50 
GROUP BY facebook_id
ORDER BY score DESC, created_at
于 2011-11-03T02:24:05.900 に答える