我正在尝试将多行分组在一起以形成一个新表。我这样做是为了找到每个客户的每种发票交付方式的数量。
我已经尝试过此代码
CREATE TABLE new_table AS
SELECT customer_id,(COUNT(invoice_send_method WHERE invoice_send_method='Fax' GRPUP BY(purchase_date || '_' || item_id))),(COUNT(invoice_send_method WHERE invoice_send_method='Mail' GRPUP BY(purchase_date || '_' || item_id))),(COUNT(invoice_send_method WHERE invoice_send_method='Email' GRPUP BY(purchase_date || '_' || item_id)))
FROM my_table;
但是它会在invoice_send_method的第一个实例之后(在WHERE之前)返回语法错误。
为了算作发票发送方式的一个实例,我创建了一个规则,该规则必须是purchase_date和item_id的唯一组合。
有更好的方法吗?似乎我无法在COUNT中引入WHERE或GROUP BY语句,但是在仍然检查所有发票传送方式的同时,我不知道该怎么办。
我正在使用MySQL Workbench。