mysql 多个字段连接_我可以将多个MySQL行连接到一个字段中吗?

用于连接多个单独行的备用语法

警告:这篇文章会让你感到饥饿。

鉴于:

我发现自己想要选择多个单独的行 - 而不是一个组 - 并在某个字段上连接。

假设您有一张产品ID及其名称和价格表:

+------------+--------------------+-------+

| product_id | name               | price |

+------------+--------------------+-------+

|         13 | Double Double      |     5 |

|         14 | Neapolitan Shake   |     2 |

|         15 | Animal Style Fries |     3 |

|         16 | Root Beer          |     2 |

|         17 | Lame T-Shirt       |    15 |

+------------+--------------------+-------+

然后你有一些花哨的schmancy ajax将这些小狗列为复选框。

你饥饿的河马用户选择13, 15, 16。今天她没有甜点......

找:

使用纯mysql在一行中汇总用户订单的方法。

解:

使用GROUP_CONCAT与该IN条款:

mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary FROM product WHERE product_id IN (13, 15, 16);

哪个输出:

+------------------------------------------------+

| order_summary                                  |

+------------------------------------------------+

| Double Double + Animal Style Fries + Root Beer |

+------------------------------------------------+

奖金解决方案:

如果你想要总价,也可以投入SUM():

mysql> SELECT GROUP_CONCAT(name SEPARATOR ' + ') AS order_summary, SUM(price) AS total FROM product WHERE product_id IN (13, 15, 16);

+------------------------------------------------+-------+

| order_summary                                  | total |

+------------------------------------------------+-------+

| Double Double + Animal Style Fries + Root Beer |    10 |

+------------------------------------------------+-------+

PS:如果你附近没有In-N-Out,请道歉......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值