Mysql 获取一行中两行值的结果
联接查询的结果-Mysql 获取一行中两行值的结果,mysql,sql,string-aggregation,Mysql,Sql,String Aggregation,联接查询的结果- SELECT st_stock.name, st_stock.price, FORMAT(st_stock.quantity,0), st_stock.exp_date, admin.username FROM `st_stock` INNER JOIN `admin` ON FIND_IN_SET(admin.ID,st_stock.broker_id) AND st_stock.id='2' 样本数据 name
SELECT st_stock.name, st_stock.price,
FORMAT(st_stock.quantity,0),
st_stock.exp_date,
admin.username
FROM `st_stock`
INNER JOIN `admin` ON FIND_IN_SET(admin.ID,st_stock.broker_id) AND st_stock.id='2'
样本数据
name price asjdb exp_date username
5.HK (HSBC) 74.40 HKD 100,000,000 2018-07-27 17:00:00 broker2
5.HK (HSBC) 74.40 HKD 100,000,000 2018-07-27 17:00:00 broker3
预期产量
5.HK (HSBC) 74.40 HKD 100,000,000 2018-07-27 17:00:00 broker2,broker3
您没有指定正在使用的SQL引擎。当涉及到更高级的聚合和窗口功能时,各个数据库引擎的实现各不相同 例如,在PostgreSQL中,可以使用聚合函数:
SELECT name, price, asjdb, exp_date, string_agg(username,',') AS username
FROM d
GROUP BY name, price, asjdb, exp_date;
对于其他数据库引擎,您将使用:
SELECT st_stock.name, st_stock.price,
FORMAT(st_stock.quantity,0),
st_stock.exp_date,
GROUP_CONCAT(admin.username)
FROM `st_stock`
INNER JOIN `admin` ON FIND_IN_SET(admin.ID,st_stock.broker_id) AND st_stock.id='2' GROUP BY st_stock.name
我的结果应该是--5.HK(汇丰银行)74.40 HKD 100000000 2018-07-27 17:00:00经纪人2,经纪人3你的问题。请勿将其他信息添加为(未格式化)注释您是否有用于预期输出的列名?相同列名可能重复感谢engine标记@它工作正常,对吧?确保您单击向上箭头投票赞成ans:D