SELECT EXTRACT(MONTH FROM "publicationDate") as month, EXTRACT(YEAR FROM "publicationDate") as year, count("entryId") as entryCount FROM "Entry" GROUP BY EXTRACT(MONTH FROM "publicationDate"), EXTRACT(YEAR FROM "publicationDate") ORDER BY EXTRACT(YEAR FROM "publicationDate") desc, EXTRACT(MONTH FROM "publicationDate") desc SELECT e."entryId", e."title", e."preview", CAST(EXTRACT(MONTH FROM e."publicationDate") AS varchar(2)) || '/'::varchar || CAST(EXTRACT(DAY FROM e."publicationDate") AS varchar(2)) || '/'::varchar || CAST(EXTRACT(YEAR FROM e."publicationDate") AS varchar(4)) as publicationDate, e."publicationDate" as publicationDateTime, e."views", c."categoryId", c."name" as categoryName, u."firstName", u."lastName", e."disableComments", count(DISTINCT m."commentId") as commentCount, count(e."entryId") as temp1, CASE WHEN e."timesRated" = 0 THEN 0 ELSE (e."totalRating"/Cast(e."timesRated" AS float))::float END AS averageRating FROM "Entry" as e LEFT JOIN "EntryCategory" as ec ON e."entryId" = ec."entryId" LEFT JOIN "Category" as c ON ec."categoryId" = c."categoryId" JOIN "User" as u ON e."postedByUserId" = u."userId" LEFT JOIN "Comment" as m ON e."entryId" = m."entryId" WHERE e."publicationDate" <= now() AND c."categoryId" = AND EXTRACT(MONTH FROM e."publicationDate") = AND EXTRACT(YEAR FROM e."publicationDate") = AND (e."publicationDate"::date - now()::date)::integer <= GROUP BY e."entryId", e."title", e."preview", CAST(EXTRACT(MONTH FROM e."publicationDate") AS varchar(2)) || '/'::varchar || CAST(EXTRACT(DAY FROM e."publicationDate") AS varchar(2)) || '/'::varchar || CAST(EXTRACT(YEAR FROM e."publicationDate") AS varchar(4)), e."publicationDate", e."views", c."categoryId", c."name", u."firstName", u."lastName", e."disableComments", CASE WHEN e."timesRated" = 0 THEN 0 ELSE (e."totalRating"/Cast(e."timesRated" AS float))::float END ORDER BY e."publicationDate" DESC SELECT e."entryId", e."title", CASE WHEN e."timesRated" = 0 THEN 0 ELSE (e."totalRating"/Cast(e."timesRated" AS float))::float END AS averageRating FROM "Entry" as e ORDER BY averageRating DESC limit #limit# SELECT e."entryId", e."title", e."views" FROM "Entry" as e ORDER BY e."views" DESC LIMIT #limit# SELECT e."entryId", e."title", count(c."commentId") as comments FROM "Entry" as e JOIN "Comment" as c ON e."entryId" = c."entryId" GROUP BY e."entryId", e."title" ORDER BY comments DESC LIMIT #limit#