我有一個特定的問題,無法通過底部顯示的一個非常簡單的多子查詢SELECT
來解決:取查詢1在同一個簡單的SELECT中導致多個查詢無法進行子查詢SELECT導致使用MySQL的單個多行結果
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
看起來像是錯誤的工具。
這就是我理解停止的地方。
它不會產生我在尋找的Cuz一個我要找的結果要簡單得多讀。 – rautamiekka
不幸的是,閱讀更簡單並不意味着它是正確的解決方案。而子選擇解決方案不夠理想,難以閱讀。如果有新手對Eager的數量不同,會發生什麼?您應該格式化它以供用戶閱讀您的應用程序:) – Martin
多個子查詢(這兩個不是唯一的)之間的行數有很大的差異,但是對於計算機來說,讀取操作有多簡單,只要性能取得的結果不會被殺死。 – rautamiekka