equivalent code drizzle

how to make the equivalent query in drizzle?

const validThreadMessages = await db
    .selectDistinctOn([threadMessage.threadId], {
        id: threadMessage.id,
        threadId: threadMessage.threadId,
        createDate: threadMessage.createDate,
    })
    .from(threadMessage)
    .where(
        sql`${threadMessage.createDate} > current_date - interval '${interval} days`
    )
    .orderBy(desc(threadMessage.threadId), desc(threadMessage.createDate))


equivalent sql code:

SELECT DISTINCT ON ("threadId")
    "id",
    "threadId",
    "message",
    "createDate"
FROM
    "threadMessage"
WHERE
    "createDate" > current_date - interval '20 days'
ORDER BY
    "threadId",
    "createDate" DESC;
Was this page helpful?