php - 如何使用 PHP MySQL 对列的值进行分组?

标签 php mysql

我找不到如何对 7 个 MySQL 列的值进行分组。
列:

ex_MONDAY
ex_TUESDAY
ex_WEDNESDAY
ex_THURSDAY
ex_FRIDAY
ex_SATURDAY
ex_SUNDAY

值或多或少是相同的例子

15-00035 / 15-00035 / 12-00014 / 11-00004 / 11-00004 / 11-00004 / 11-00004 / 

我希望它将这些值分组,然后我可以在 while ($z < mysql_num_rows($result)) 中使用它们结果我会得到这样的东西:

15-00035
12-00014
11-00004

Because as grouped there is only 3 different values.

Currently i'm using this code but it seems to not work:

$result=mysql_query("SELECT ex_MONDAY,ex_TUESDAY,ex_WEDNESDAY,ex_THURSDAY,ex_FRIDAY,ex_SATURDAY,ex_SUNDAY FROM mytable WHERE week=38 AND year=2015 GROUP BY ex_MONDAY,ex_TUESDAY,ex_WEDNESDAY,ex_THURSDAY,ex_FRIDAY,ex_SATURDAY,ex_SUNDAY");

$fetch=mysql_fetch_row($result);

echo "$fetch[0]"; //returns 15-00035
echo "$fetch[1]"; // returns no value
echo "$fetch[2]"; // returns 11-0004

最佳答案

使用 PHP 函数 array_unique()array_values() :

$result=mysql_query("SELECT ex_MONDAY,ex_TUESDAY,ex_WEDNESDAY,ex_THURSDAY,ex_FRIDAY,ex_SATURDAY,ex_SUNDAY FROM mytable WHERE week=38 AND year=2015");
$fetch = array_values(array_unique(mysql_fetch_row($result)));

要清除空值,另外使用 array_filter() :

$fetch = array_values(array_unique(array_filter(mysql_fetch_row($result))));

关于php - 如何使用 PHP MySQL 对列的值进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32646639/

相关文章:

mysql使用case从2个表中获取数据

php - 数据库问题,如何存储变化的数据结构

javascript - Ajax如何对多种表单的数据字段进行优先级排序?

javascript - 在 PHP 中使用 Javascript 删除类

php - 使用 MySQL 和 session 登录

mysql - 将多行 MySQL 行转换为多列和单行

PHP PDO MYSQL - 变量始终为空

javascript - 如何增加按钮点击jquery的数值

php - Soap 响应命名空间问题

php - 使用 OO-PHP 简单登录