 "order_id", "customer_id", "order_date" ve "amount" sütunlarına sahip "siparişler" adlı bir tablonuz olduğunu varsayalım. Bir müşterinin birinci ve ikinci siparişleri arasındaki ortalama gün sayısını bulmak için bir SQL sorgusu yazın.
Bir müşterinin birinci ve ikinci siparişleri arasındaki ortalama gün sayısını bulmak için SQL sorgusu şöyledir: ``` SELECT AVG(DATEDIFF(second_order.order_date, first_order.order_date)) FROM ( SELECT customer_id, MIN(order_date) AS first_order_date FROM Orders GROUP customer_id TARAFINDAN ) AS first_order JOIN ( müşteri_kimliği SEÇİN, MIN(sipariş_tarihi) AS ikinci_sipariş_tarihi WHERE order_date > ( SELECT MIN(order_date) FROM FROM WHERE müşteri_id = orders.customer_id ) GRUP BY müşteri_id ) AS second_order ON first_order.customer_id = second_order.customer_id ``` Adımlar: - "First_order" alt sorgusu, her müşteri için ilk sipariş tarihini alır. - "second_order" alt sorgusu, ilk siparişi filtreleyerek ve minimum sipariş tarihini alarak her müşteri için ikinci sipariş tarihini alır. - İki alt sorgu, birinci ve ikinci siparişler arasındaki zaman farkını elde etmek için customer_id'de birleştirilir. - Son olarak, bir müşterinin birinci ve ikinci siparişleri arasındaki ortalama gün sayısını almak için AVG() işlevi kullanılır.