分组查询数据 - MySQL

时间:2012-01-28 08:20:12

标签: php sql grouping

我在mySQL中关注数据:(这是评论数据)
SQL Data

然后我想通过ucom_ucom_id对这些数据进行分组,它就像这样

UCOM_ID | USER_ID |  UCOM_DATE | UCOM_COMMENT | UCOM_TITLE | UCOM_UCOM_ID
---------------------------------------------------------------------------
   7    |    2    | 2012-01-28 | xxx          | xxx        | 0
   8    |    2    | 2012-01-28 | xxx          | xxx        | 7
  12    |    2    | 2012-01-28 | xxx          | xxx        | 7
   9    |    2    | 2012-01-28 | xxx          | xxx        | 0
  13    |    2    | 2012-01-28 | xxx          | xxx        | 9

其中UCOM_UCOM_ID = 0, is first commentif UCOM_UCOM_ID = one of UCOM_ID,然后是第一条评论的评论 我想在php中生成这样的视图:

[UCOM_ID] 7, [UCOM_COMMENT] xxx
             [UCOM_ID]  8, [UCOM_COMMENT] xxx
             [UCOM_ID] 12, [UCOM_COMMENT] xxx

[UCOM_ID] 9, [UCOM_COMMENT] xxx
             [UCOM_ID] 13, [UCOM_COMMENT] xxx

在mySql中用什么查询来获取上面的结果,或者我应该在不使用查询的情况下做任何其他事情。?
非常感谢,。

1 个答案:

答案 0 :(得分:2)

要确切地告诉结果集的外观有点难以理解。我想这可能会做你想要的事情:

SELECT  y.UCOM_ID, y.UCOM_COMMENT
FROM    tablename x
    LEFT JOIN   tablename y
        ON  y.UCOM_UCOM_ID = x.UCOM_ID
            OR
            (y.UCOM_UCOM_ID = 0
             AND
             y.UCOM_ID = x.UCOM_ID)
WHERE   x.UCOM_UCOM_ID = 0