تمرين إعادة البناء
Production Report
أعد كتابة تقرير إنتاجي صغير يجمع المدفوع غير الملغى حسب اليوم.
sql
~14 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
-- Drill 25 — تقرير إنتاجي متكامل بـ CTE — SQLite 3.x+
CREATE TABLE orders (
created_date TEXT NOT NULL,
status TEXT NOT NULL,
total_halalas INTEGER NOT NULL,
cancelled_at TEXT
);
INSERT INTO orders VALUES
('2026-04-30', 'paid', 5000, NULL),
('2026-04-30', 'paid', 7000, NULL),
('2026-04-30', 'paid', 9000, 'cancelled'),
('2026-05-01', 'draft', 3000, NULL);
WITH valid_paid_orders AS (
SELECT created_date, total_halalas
FROM orders
WHERE status = 'paid'
AND cancelled_at IS NULL
)
SELECT
created_date,
COUNT(*) AS paid_order_count,
SUM(total_halalas) AS paid_total_halalas
FROM valid_paid_orders
GROUP BY created_date
ORDER BY created_date;اكتب هنا