我如何(或可以)在列的一行中对多个值选择DISTINCT?

时间:2016-03-17 11:26:53

标签: php mysql

我试图从列中获取没有重复的值没有问题

我做了什么

<?php
   $getSize = $db->query('SELECT DISTINCT pSize FROM products');
          while ($gs = mysqli_fetch_array($getSize)) {
      ?>
        <li>
          <a href="#"><label for="size">
              <input type="checkbox" name="size" id="size"
              value="<?php print $gs['pSize'] ?>"> <?php print $gs['pSize'] ?></label>
         </a>
       </li>
    <?php } ?>

问题是在某些行中我有多个像这样的值

30|
30
30|35|40
30|20|35

这里30是值,35是另一个,40是第三个

所以我需要的是30|35|40

30
35
40

这将是每一行。

1 个答案:

答案 0 :(得分:0)

在您的案例中pSize = emp_firstnameproducts =employee_master 检查以下示例

SELECT
  emp_id,
  SUBSTRING_INDEX(SUBSTRING_INDEX(emp_firstname, ',', n.digit+1), '|', -1) emp_firstname
FROM
  employee_master
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3) n
  ON LENGTH(REPLACE(emp_firstname, '|' , '')) <= LENGTH(emp_firstname)-n.digit
ORDER BY
  emp_id,
  n.digit