2016-05-05 3 views
0

Ниже представлен результат запроса - результат запроса 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 Query. Если не любезно помочь мне, если какой-либо другой вариант доступен? Заранее спасибо.

+0

использовать 'SELECT DISTINCT имя_столбца, имя_столбца FROM имя_таблицы;' – ssnake

+0

'GROUP BY',' DISTINCT' и 'GROUP_CONCAT' могут помочь вам получить что-то вроде этого. –

ответ

0

Вы не можете получить не повторяющиеся данные столбца, если у него меньше строк, чем в других столбцах. Если вы хотите получить все отдельные данные столбца, вы должны выбрать их по отдельности.

Но это только визуальное упрощение. Вы можете легко обрабатывать данные на своем коде, фильтруя повторы.

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 
0

Вы также можете использовать такие инструменты, как Pentaho или BIRT, которые предназначены для создания хороших перспективных отчетов из этих данных.