在postgresql中使用限制偏移量时出现问题。尽管我指定了极限偏移值,但它列出了所有数据。
SELECT
array_to_json(
array_agg(
json_build_object(
'nickName', u.username,
'date', to_char(p.create_date, 'DD/MM/YYYY'),
'time', to_char(p.create_date, 'HH24:MM'),
'questionId', p.post_id,
'questionContent', p.content,
'status', CASE WHEN p.status = 0 THEN 'Waiting for approval' WHEN p.status = 1 THEN 'Approved' WHEN p.status = 0 THEN 'Reject' END,
'rejectReason', p.reject_reason,
'answerUrl', p.seo_url
)
)
)
INTO _posts
FROM posts p
INNER JOIN users u ON u.user_id = p.user_id
WHERE p.user_id = _user_id
LIMIT 5 OFFSET _page * 5;
请查看我的代码,并告诉我问题出在哪里。
答案 0 :(得分:1)
在不为您重写整个查询的情况下,json_agg
在这里可能更合适。
SELECT json_agg(x) AS json_feed
FROM (
SELECT
column AS "columnName", ...
FROM your_table
LIMIT 5
) AS x