91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在casewhen中嵌套使用其他SQL函數

小樊
84
2024-09-07 04:46:24
欄目: 云計算

在 SQL 中,可以在 CASE WHEN 語句中嵌套使用其他 SQL 函數

SELECT customer_id,
       first_name,
       last_name,
       CASE
           WHEN total_orders >= 10 THEN 'Frequent Customer'
           WHEN total_orders < 10 AND total_orders > 0 THEN 'Occasional Customer'
           ELSE 'New Customer'
       END AS customer_type,
       CASE
           WHEN DATEDIFF(CURRENT_DATE, last_order_date) <= 30 THEN 'Active'
           WHEN DATEDIFF(CURRENT_DATE, last_order_date) > 30 AND DATEDIFF(CURRENT_DATE, last_order_date) <= 60 THEN 'Inactive'
           ELSE 'Dormant'
       END AS customer_activity
FROM (
    SELECT customer_id,
           first_name,
           last_name,
           COUNT(*) AS total_orders,
           MAX(order_date) AS last_order_date
    FROM customers
    LEFT JOIN orders ON customers.customer_id = orders.customer_id
    GROUP BY customers.customer_id
) AS subquery;

在這個示例中,我們首先創建了一個子查詢(subquery),該子查詢計算每個客戶的訂單總數和最后一次下單日期。然后,在主查詢中,我們使用 CASE WHEN 語句為客戶分配類型(如“頻繁客戶”,“偶爾客戶”和“新客戶”),并根據他們的活動狀態(如“活躍”,“不活躍”和“休眠”)進行分類。

在這個例子中,我們使用了 COUNT(*)MAX(order_date) 函數來計算每個客戶的訂單總數和最后一次下單日期,然后在主查詢中使用 CASE WHEN 語句對這些值進行條件判斷。同樣地,你可以在 CASE WHEN 語句中使用其他 SQL 函數來滿足你的需求。

0
偃师市| 合肥市| 澎湖县| 沁阳市| 新蔡县| 陵川县| 峨边| 苍山县| 廊坊市| 景宁| 张北县| 高州市| 新营市| 桦甸市| 庆元县| 金溪县| 荣成市| 高密市| 镇坪县| 双流县| 周口市| 桐庐县| 漳平市| 太仆寺旗| 米易县| 武安市| 灵台县| 金沙县| 济源市| 乡宁县| 拉萨市| 延寿县| 定结县| 斗六市| 永定县| 隆昌县| 双江| 仁化县| 福贡县| 克什克腾旗| 金沙县|