出力:
WITH LastMonthOrders AS (
SELECT o.customerid, o.orderid, op.productid, op.quantity, p.productname, op.quantity * p.unitprice AS total_order_value
FROM orders o
JOIN order_details op ON o.orderid = op.orderid
JOIN products p ON op.productid = p.productid
WHERE o.orderdate >= date_trunc('month', CURRENT_DATE) - INTERVAL '1 month'
AND o.orderdate < date_trunc('month', CURRENT_DATE)
),
CustomerTotalOrderValue AS (
SELECT customerid, SUM(total_order_value) AS total_value
FROM LastMonthOrders
GROUP BY customerid
ORDER BY total_value DESC
LIMIT 1
)
SELECT c.customerid, c.companyname, lm.productid, lm.productname, lm.quantity
FROM CustomerTotalOrderValue ctov
JOIN LastMonthOrders lm ON ctov.customerid = lm.customerid
JOIN customers c ON c.customerid = lm.customerid;
1件のコメント
Hacker Newsのコメント
SQL-Evalでの性能スコアは76.5%で、GPT-4の83%やsqlcoder-15bの78%にやや及ばない。
text-to-SQLモデルは正しい問題を解いていないと思う。
group byクエリの書き方が分からないことではなく、データの意味を理解することだ。...priceという名前の10個のカラムがあるテーブルなら、実際の意味を知るためにWikiを調べたりDBT定義を読んだりする必要がある。これはオープンソースではない点を指摘しておく。利用ベースの制限があるので、「ソース利用可能」と呼ぶべきだろう。
これは興味深く、自分の関心分野でもあるが、複雑な質問だとは思わない。基本的な分析クエリだ。
AIの多くの用途と同様に、これは「シード」として非常に良い。特に範囲ごとのグループ化のようなアイデアを出すときに有効だ。
これが75%しか正確でないからといって役に立たないと言う人は、次の2点を考慮すべきだ。
より複雑で現実的なベンチマークであるBirdではどうなのか気になる。
データ分野で働いた経験から言うと、多くの人は経営陣から質問を受け、その質問に答えるSQLを書けるだけデータウェアハウスを理解し、ときには見栄えよく整形した回答を届ける責任を負っている。
本当にクールだし、ライセンスが標準的ではないにもかかわらずオープンソースのように見える。
とてもクールだが、このライセンスがVannaと一緒に使えるのか気になる: Vanna