以下查询结果是我对数据库表执行的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查询。如果有其他选择可用,请不要帮助我?提前谢谢。
答案 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这样的工具,这些工具旨在通过此类数据生成外观漂亮的报告。