<i id='iTeBC'><tr id='iTeBC'><dt id='iTeBC'><q id='iTeBC'><span id='iTeBC'><b id='iTeBC'><form id='iTeBC'><ins id='iTeBC'></ins><ul id='iTeBC'></ul><sub id='iTeBC'></sub></form><legend id='iTeBC'></legend><bdo id='iTeBC'><pre id='iTeBC'><center id='iTeBC'></center></pre></bdo></b><th id='iTeBC'></th></span></q></dt></tr></i><div id='iTeBC'><tfoot id='iTeBC'></tfoot><dl id='iTeBC'><fieldset id='iTeBC'></fieldset></dl></div>
      • <bdo id='iTeBC'></bdo><ul id='iTeBC'></ul>

      <small id='iTeBC'></small><noframes id='iTeBC'>

      1. <tfoot id='iTeBC'></tfoot>

      2. <legend id='iTeBC'><style id='iTeBC'><dir id='iTeBC'><q id='iTeBC'></q></dir></style></legend>

        SQLite 中的 GROUP_CONCAT

        时间:2023-06-25
          <i id='FNFev'><tr id='FNFev'><dt id='FNFev'><q id='FNFev'><span id='FNFev'><b id='FNFev'><form id='FNFev'><ins id='FNFev'></ins><ul id='FNFev'></ul><sub id='FNFev'></sub></form><legend id='FNFev'></legend><bdo id='FNFev'><pre id='FNFev'><center id='FNFev'></center></pre></bdo></b><th id='FNFev'></th></span></q></dt></tr></i><div id='FNFev'><tfoot id='FNFev'></tfoot><dl id='FNFev'><fieldset id='FNFev'></fieldset></dl></div>

          <small id='FNFev'></small><noframes id='FNFev'>

              <bdo id='FNFev'></bdo><ul id='FNFev'></ul>

                <legend id='FNFev'><style id='FNFev'><dir id='FNFev'><q id='FNFev'></q></dir></style></legend>
                <tfoot id='FNFev'></tfoot>
                    <tbody id='FNFev'></tbody>

                  本文介绍了SQLite 中的 GROUP_CONCAT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有这样的数据

                  1 A
                  1 B
                  1 C
                  1 D
                  2 E
                  2 F
                  3 G
                  3 H
                  3 I
                  3 J
                  3 K
                  

                  通过使用这个查询

                  select ABSTRACTS_ITEM._id,Name 
                  from ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
                  where
                  ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
                  and
                  ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID
                  

                  现在,我想显示这样的数据

                  Now, I want to show data like this

                  1 A,B,C,D
                  2 EF
                  

                  等等..我也知道它可以通过GROUP_CONCAT函数来实现.所以,我试过这个

                  and so on..I also know it can achieve by GROUP_CONCAT function. So, I tried with this

                  SELECT ABSTRACTS_ITEM._id,
                  GROUP_CONCAT(ABSTRACT_AUTHOR.NAME) FROM
                  (select ABSTRACTS_ITEM._id,
                  Name
                  from
                  ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
                  where
                  ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
                  and
                  ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID)
                  

                  但是,它显示我错误.所以,我在这里做错了什么.实现这一目标的正确程序是什么?

                  But, It shows me error. So, what I am doing wrong here. What are the right procedure to achieve that?

                  推荐答案

                  使用聚合函数时需要添加GROUP BY子句.也可以使用 JOIN 来连接表.

                  You need to add GROUP BY clause when you are using aggregate function. Also use JOIN to join tables.

                  试试这个:

                  SELECT AI._id, GROUP_CONCAT(Name) AS GroupedName
                    FROM ABSTRACTS_ITEM AI 
                    JOIN AUTHORS_ABSTRACT AAB ON AI.ID = AAB.ABSTRACTSITEM_ID
                    JOIN ABSTRACT_AUTHOR AAU ON AAU._id = AAB.ABSTRACTAUTHOR_ID
                   GROUP BY tbl._id;
                  

                  参见这个示例 SQLFiddle

                  <小时>

                  您尝试的几乎是正确的.您只需要在最后添加 GROUP BY 子句.但第一个更好.

                  See this sample SQLFiddle


                  What you were trying was almost correct. You just needed to add GROUP BY clause at the end. But the first one is better.

                  SELECT ID,
                  GROUP_CONCAT(NAME) 
                  FROM
                      (select ABSTRACTS_ITEM._id AS ID,
                       Name
                       from
                      ABSTRACTS_ITEM , ABSTRACT_AUTHOR , AUTHORS_ABSTRACT
                      where
                      ABSTRACTS_ITEM._id = AUTHORS_ABSTRACT.ABSTRACTSITEM_ID
                      and
                      ABSTRACT_AUTHOR._id = AUTHORS_ABSTRACT.ABSTRACTAUTHOR_ID)
                  GROUP BY ID;
                  

                  这篇关于SQLite 中的 GROUP_CONCAT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:SQLite 按日期排序1530019888000 下一篇:如果数据库大小大于 2 GB,SQLite 性能会下降吗?

                  相关文章

                  <tfoot id='oDI9e'></tfoot>
                  1. <legend id='oDI9e'><style id='oDI9e'><dir id='oDI9e'><q id='oDI9e'></q></dir></style></legend>
                    • <bdo id='oDI9e'></bdo><ul id='oDI9e'></ul>

                      <small id='oDI9e'></small><noframes id='oDI9e'>

                      <i id='oDI9e'><tr id='oDI9e'><dt id='oDI9e'><q id='oDI9e'><span id='oDI9e'><b id='oDI9e'><form id='oDI9e'><ins id='oDI9e'></ins><ul id='oDI9e'></ul><sub id='oDI9e'></sub></form><legend id='oDI9e'></legend><bdo id='oDI9e'><pre id='oDI9e'><center id='oDI9e'></center></pre></bdo></b><th id='oDI9e'></th></span></q></dt></tr></i><div id='oDI9e'><tfoot id='oDI9e'></tfoot><dl id='oDI9e'><fieldset id='oDI9e'></fieldset></dl></div>