在MySQL中创建数据透视表可以使用多种方法,其中包括使用子查询、使用CASE语句和使用PIVOT函数。下面是使用每个月的付款数据创建数据透视表的示例代码:
SELECT
month,
SUM(CASE WHEN payment_type = 'cash' THEN amount ELSE 0 END) AS cash_payments,
SUM(CASE WHEN payment_type = 'credit' THEN amount ELSE 0 END) AS credit_payments,
SUM(CASE WHEN payment_type = 'debit' THEN amount ELSE 0 END) AS debit_payments
FROM
payments
GROUP BY
month;
SELECT
month,
SUM(amount) AS total_payments,
SUM(CASE WHEN payment_type = 'cash' THEN amount ELSE 0 END) AS cash_payments,
SUM(CASE WHEN payment_type = 'credit' THEN amount ELSE 0 END) AS credit_payments,
SUM(CASE WHEN payment_type = 'debit' THEN amount ELSE 0 END) AS debit_payments
FROM
payments
GROUP BY
month;
SELECT
month,
cash_payments,
credit_payments,
debit_payments
FROM
(
SELECT
month,
payment_type,
amount
FROM
payments
) AS src
PIVOT
(
SUM(amount)
FOR payment_type IN (cash_payments, credit_payments, debit_payments)
) AS piv;
以上示例代码中的表名为"payments",包含字段"month"(月份)、"payment_type"(付款类型)和"amount"(金额)。根据具体的表结构和字段名,请适当修改示例代码。