我有一个表有多个路径的共享我想要获取所有路径,其中这些路径中的前N个不同Servername作为示例在这里整个表。获取n个组的所有记录
+----+--------------------------------+
| ID | BACKUPPATH |
+----+--------------------------------+
| 1 | //server.domain/share/folder |
| 2 | //server.domain/share/folder3 |
| 3 | //server.domain/share/folder2 |
| 4 | //server2.domain/share/folder1 |
| 5 | //server2.domain/share/folder2 |
| 6 | //server3.domain/share/folder1 |
| 7 | //server3.domain/share/folder2 |
| 8 | //server3.domain/share/folder3 |
+----+--------------------------------+
服务器名称可能会有所不同,每个不同的Servenames可能会有所不同。作为例子,我希望得到我期望的那样结果前2个不同servernames节点的所有路径:
+----+--------------------------------+
| ID | BACKUPPATH |
+----+--------------------------------+
| 1 | //server.domain/share/folder |
| 2 | //server.domain/share/folder3 |
| 3 | //server.domain/share/folder2 |
| 4 | //server2.domain/share/folder1 |
| 5 | //server2.domain/share/folder2 |
+----+--------------------------------+
为子查询我用下面的查询来获取servernames节点的行集:
select SUBSTRING_INDEX(BACKUPPATH,'/',3) as SERVERNAMES from(select BACKUPPATH from Backuppaths GROUP BY SUBSTRING_INDEX(BACKUPPATH,'/',3))as NUMEROFSERVERS LIMIT 2;
+------------------+
| SERVERNAMES |
+------------------+
| //server.domain |
| //server2.domain |
+------------------+
我被困现在在如何使用这个子查询来获得我期望的结果。
感谢在这个
你应该使用'组by'在子查询中,而不是独特的:'按服务器名组顺序排列m在(id)限制2'中。 OP要求提供前两个服务器名称。 – 2014-10-11 14:35:10
@GordonLinoff谢谢,改变 – 2014-10-11 14:49:23
亲爱的布莱恩,优秀的作品完美! – TReisser 2014-10-12 07:10:47