MySQL SELECT DISTINCT multiple columns

后端 未结 6 1370
误落风尘
误落风尘 2020-11-27 05:28

Let\'s say I have columns a, b c, d in a table in a MySQL database. What I\'m trying to do is to select the distinct values of ALL of these 4 columns in my tabl

相关标签:
6条回答
  • 2020-11-27 05:32

    Taking a guess at the results you want so maybe this is the query you want then

    SELECT DISTINCT a FROM my_table
    UNION 
    SELECT DISTINCT b FROM my_table
    UNION
    SELECT DISTINCT c FROM my_table
    UNION
    SELECT DISTINCT d FROM my_table
    
    0 讨论(0)
  • 2020-11-27 05:46

    Both your queries are correct and should give you the right answer.

    I would suggest the following query to troubleshoot your problem.

    SELECT DISTINCT a,b,c,d,count(*) Count FROM my_table GROUP BY a,b,c,d
    order by count(*) desc
    

    That is add count(*) field. This will give you idea how many rows were eliminated using the group command.

    0 讨论(0)
  • 2020-11-27 05:49

    I know that the question is too old, anyway:

    select a, b from mytable group by a, b
    

    will give your all the combinations.

    0 讨论(0)
  • 2020-11-27 05:50

    This will give DISTINCT values across all the columns:

    SELECT DISTINCT value
    FROM (
        SELECT DISTINCT a AS value FROM my_table
        UNION SELECT DISTINCT b AS value FROM my_table
        UNION SELECT DISTINCT c AS value FROM my_table
    ) AS derived
    
    0 讨论(0)
  • 2020-11-27 05:52

    Another simple way to do it is with concat()

    SELECT DISTINCT(CONCAT(a,b)) AS cc FROM my_table GROUP BY (cc);
    
    0 讨论(0)
  • 2020-11-27 05:57

    can this help?

    select 
    (SELECT group_concat(DISTINCT a) FROM my_table) as a,
    (SELECT group_concat(DISTINCT b) FROM my_table) as b,
    (SELECT group_concat(DISTINCT c) FROM my_table) as c,
    (SELECT group_concat(DISTINCT d) FROM my_table) as d
    
    0 讨论(0)
提交回复
热议问题