sqlite - SQLITE中的组联系人中的GROUP BY

标签 sqlite

我想在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/

相关文章:

sqlite - 如何连接分布在多个表中的一系列 sqlite 列?

android - 图片未正确保存到数据库中(作为 BLOB)

android - 选择(外键)表中没有对应行的行

swift - SQLite3 和 Swift 的 SELECT 输出错误

android - SQLite 创建双列 _id

java - ClassNotFoundException : org. sqlite.JDBC

python-3.x - 如何修复 python3 中的 CVE-2019-19646 Sqlite 漏洞

java - Android Room - 返回过去 30 天(1 个月) - java

使用 sqldf 将巨大的 csv 文件读取到 R 中是可行的,但是 sqlite 文件占用的空间是它应该和需要的两倍 "vacuuming"

java - 在 Java (Android) 中创建内存中的 sqlite 数据库的示例?