我有一个特定的事情不能通过一个非常简单的多子查询来解决SELECT
,显示在底部:使用查询 1
SELECT playername AS Rookie FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 129600 AND onlinetime < 648000 ORDER BY playername;
返回结果如
+------------------+
| Rookie |
+------------------+
| _Golden_Apple |
| _MineTrick_ |
+------------------+
(只是整个结果的一部分)和查询 2
SELECT playername AS Eager FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 648000 AND onlinetime < 1296000 ORDER BY playername;
返回就像(只是整个结果的一部分)
+-----------------+
| Eager |
+-----------------+
| 1Herofox |
| 1lyndon |
+-----------------+
这个想法是将这些列组合起来得到这样的东西:
+------------------+-----------------+
| Rookie | Eager |
+------------------+-----------------+
| _Golden_Apple | 1Herofox |
| _MineTrick_ | 1lyndon |
+------------------+-----------------+
像这样的查询
SELECT
(SELECT playername FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 129600 AND onlinetime < 648000) AS Rookie,
(SELECT playername FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 648000 AND onlinetime < 1296000) AS Eager
;
导致1242 (21000): Subquery returns more than 1 row
. 谷歌搜索是个问题,因为我不知道该用什么词;用过的
mysql merge subqueries that return multiple rows
mysql multiple columns in result from subqueries
mysql select multiple queries as columns
只是为了得到完全不同的东西。
结果主要仅供人类查看,并且行与其他列无关,因此只要性能没有下降太多,使用什么方法来合并这些列并不重要;鉴于它们根本不相关,因此JOIN
s 看起来像是错误的工具。
这就是我的理解停止的地方。