如何简化查询输出?

时间:2016-05-05 13:44:52

标签: mysql

以下查询结果是我对数据库表执行的mysql查询的结果。它返回的值不止一次。

查询结果

name     section     role
----------------------------
abc         A        Manager
abc         B        Ass Manager
abc         A        Clark
abc         B        Engineer
abc         A        Manager

如何简化输出,如下表所示。

简化输出

name     section     role
----------------------------
abc         A        Manager
            B        Ass Manager
                     Clark
                     Engineer

这是否可以使用mysql查询。如果有其他选择可用,请不要帮助我?提前谢谢。

3 个答案:

答案 0 :(得分:0)

如果列的行数少于其他列,则无法获取列的非重复数据。如果要获取列的所有不同数据,则应单独选择每个数据。

但这只是视觉上的简化。您可以通过过滤重复来轻松处理代码中的数据。

答案 1 :(得分:0)

如您所愿,输出不是有效结果。

SQL Fiddle在线测试。

SELECT `name`, `section`, GROUP_CONCAT(`role`) FROM janaki GROUP BY `name`, `section`

name     section     GROUP_CONCAT(`role`)
-----------------------------------------
abc        A         Manager,Clark,Manager
abc        B         Ass Manager,Engineer

直接查询:

SELECT DISTINCT `name`, `section`, `role` FROM janaki


name       section       role     
-------------------------------
abc        A             Manager
abc        B             Ass Manager
abc        A             Clark
abc        B             Engineer

答案 2 :(得分:0)

您还可以使用像Pentaho或BIRT这样的工具,这些工具旨在通过此类数据生成外观漂亮的报告。