19 lines
440 B
TypeScript
19 lines
440 B
TypeScript
"use server";
|
|
|
|
import { asc, desc, max, sum } from "drizzle-orm";
|
|
import { db } from "@/lib/db";
|
|
import { donations } from "@/lib/db/schema";
|
|
|
|
export async function getTopDonate() {
|
|
const [top] = await db
|
|
.select({
|
|
name: donations.name,
|
|
amount: sum(donations.amount),
|
|
})
|
|
.from(donations)
|
|
.limit(1)
|
|
.groupBy(donations.name)
|
|
.orderBy(desc(sum(donations.amount)), asc(max(donations.id)));
|
|
return top;
|
|
}
|