Mysql 是否可以通过UNION显示多个结果?
所以我现在有一个问题:Mysql 是否可以通过UNION显示多个结果?,mysql,union,Mysql,Union,所以我现在有一个问题: UNION ALL SELECT 1,2,3,concat(username),5,6 FROM users LIMIT 0,1 我知道“限制0,1”只能显示1个结果,但是否有可能一次显示大约5-20个结果, 因此,在输入查询后,我希望得到如下结果: username1, username2, username3, username4, username5 等等。。 当我再次运行查询时(当然是在修改之后),我希望得到如下结果: username6, username7
UNION ALL SELECT 1,2,3,concat(username),5,6 FROM users LIMIT 0,1
我知道“限制0,1”只能显示1个结果,但是否有可能一次显示大约5-20个结果,
因此,在输入查询后,我希望得到如下结果:
username1, username2, username3, username4, username5
等等。。
当我再次运行查询时(当然是在修改之后),我希望得到如下结果:
username6, username7, username8, username9, username10
谢谢:)你是在寻找一个以逗号分隔的n长用户名列表吗?如果是,请尝试group_concat:
SELECT GROUP_CONCAT(username)
FROM (
SELECT username
FROM users
LIMIT 0,5
) z
“union”和预期的输出看起来一点也不相似,这是因为它似乎在转换列和行,和/或混淆添加
concat
aggregation。我怀疑您可能对“分页”而不是(甚至与)联合感兴趣,例如(可以将orderby..limit..offset
与派生表一起使用).UNION
垂直连接结果集垂直连接并提供完整的i dpn不理解作为逗号分隔列表的结果是什么?很难准确理解您的要求。请确实显示您的查询的其余部分、一些示例数据以及您想要的结果(对于您的一系列查询),这是一个xy问题:“我如何使用y做x?”而不是“我如何做x?”我不明白这一点,请您详细说明一下。该查询是否产生了您希望它产生的结果?您的问题对于您期望的输出不是特别清楚。您提供的查询对我不起作用,我使用的是UNION,我希望它显示的结果是前5个结果,然后是下5个结果等等。您想在一行中显示前5个用户名,用逗号分隔吗?然后一行上的下一个5,用逗号分隔,等等?或者您想在五行不同的地方显示前5个?前5个用户名在一行中,用逗号分隔