我想在GROUP_CONCAT中添加订单
要求
SELECT LRU.InstanceDesc as lru ,
GROUP_CONCAT((DataSourceGroup.DataSourceGroupID||'~'||TYPE||'~'||DataSource.`NDOID`||'~'||DataSource.Name ),'@') as data_souce ,
FROM (SELECT DISTINCT TYPE,DataSourceGroupID,EQID,LRUID,DataFieldID FROM
EquationDataPresort) EquationDataPresort
LEFT OUTER JOIN DataSource ON (DataSourceGroup.DataSourceID = DataSource.DataSourceID)
WHERE LRU.LRUID = '406' AND EquationDataPresort.`DataSourceGroupID` > -1 AND
EquationDataPresort.EQID = '-1' GROUP BY LRU.InstanceDesc
我想订购DataSource.Name。我该怎么做?
谢谢
最佳答案
documentation说:
串联元素的顺序是任意的。
如果您希望从子查询中获取值,那么该子查询的行已具有正确的顺序,则可以保留该顺序:
SELECT lru,
GROUP_CONCAT(data_source, '@') AS data_source
FROM (SELECT LRU.InstanceDesc AS lru,
DataSourceGroup.DataSourceGroupID||'~'||... AS data_source
FROM ...
LEFT OUTER JOIN ...
WHERE ...
ORDER BY 1, 2)
GROUP BY lru
关于sqlite - SQLITE中的组联系人中的GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25064256/