order by 在第二个查询中不起作用。
我需要先按 DNAID 订购,然后按 DNBID 订购
首先查询其顺序为:
111221
第二个查询的顺序为:
112112
有关我想要完成的任务的更多信息和细节https://stackoverflow.com/questions/5082880/database-query-group-union-find-latest https://stackoverflow.com/questions/5082880/database-query-group-union-find-latest
mysql> select * from metarun;
+----+------------+-------+-------+--------------+----------+
| ID | RunGroupID | DNAID | DNBID | CONFIGTYPEID | DateTime |
+----+------------+-------+-------+--------------+----------+
| 1 | 1 | 1 | 1 | 2 | NULL |
| 2 | 1 | 1 | 2 | 2 | NULL |
| 3 | 1 | 2 | 1 | 2 | NULL |
| 4 | 2 | 1 | 1 | 4 | NULL |
| 5 | 2 | 3 | 2 | 4 | NULL |
| 6 | 3 | 3 | 2 | 1 | NULL |
| 7 | 3 | 1 | 2 | 1 | NULL |
| 8 | 3 | 3 | 1 | 1 | NULL |
| 9 | 4 | 1 | 1 | 3 | NULL |
| 10 | 4 | 2 | 1 | 3 | NULL |
| 11 | 4 | 1 | 2 | 3 | NULL |
| 12 | 5 | 1 | 1 | 2 | NULL |
| 13 | 5 | 2 | 1 | 2 | NULL |
| 14 | 5 | 1 | 2 | 2 | NULL |
| 15 | 6 | 3 | 2 | 4 | NULL |
| 16 | 6 | 1 | 1 | 4 | NULL |
+----+------------+-------+-------+--------------+----------+
mysql> SELECT RunGroupID, GROUP_CONCAT(DNAID, DNBID SEPARATOR ''), ConfigTypeID, DateTime
-> FROM metarun
-> GROUP BY RunGroupID
-> ORDER BY RunGroupID, DNAID ASC, DNBID ASC;
+------------+-----------------------------------------+--------------+----------+
| RunGroupID | GROUP_CONCAT(DNAID, DNBID SEPARATOR '') | ConfigTypeID | DateTime |
+------------+-----------------------------------------+--------------+----------+
| 1 | 111221 | 2 | NULL |
| 2 | 1132 | 4 | NULL |
| 3 | 123132 | 1 | NULL |
| 4 | 111221 | 3 | NULL |
| 5 | 111221 | 2 | NULL |
| 6 | 1132 | 4 | NULL |
+------------+-----------------------------------------+--------------+----------+
6 rows in set (0.00 sec)
mysql> SELECT RunGroupID, GROUP_CONCAT(DNAID, DNBID SEPARATOR ''), ConfigTypeID, DateTime
-> FROM metarun
-> WHERE configtypeid=2
-> GROUP BY RunGroupID
-> ORDER BY RunGroupID;
+------------+-----------------------------------------+--------------+----------+
| RunGroupID | GROUP_CONCAT(DNAID, DNBID SEPARATOR '') | ConfigTypeID | DateTime |
+------------+-----------------------------------------+--------------+----------+
| 1 | 111221 | 2 | NULL |
| 5 | 112112 | 2 | NULL |
+------------+-----------------------------------------+--------------+----------+
2 rows in set (0.02 sec)
我相信你可以指定一个ORDER BY
中的条款GROUP_CONCAT
功能:
SELECT RunGroupID, GROUP_CONCAT(DNAID, DNBID ORDER BY DNAID, DNBID SEPARATOR '')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)