我有一个带有INT列exp_num
的mySQL表。以1开头的数字是连续的。但是一堆记录可以有相同的数字。有些有1个,有些有2个,有些有3个等等。现在我想获取所有这些数字以在dropdown
框中显示它们,以选择其中一个数字作为数据库搜索的条件。当我select
列exp_num
和fetchAll(PDO::FETCH_ASSOC);
时,我会为每个条目获取一个数组,另一方面我得到所有这样的数字
[10] => array { [exp_num] =>[3] }
[11] => array { [exp_num] =>[3] }
[12] => array { [exp_num] =>[3] }
[13] => array { [exp_num] =>[4] }
[14] => array { [exp_num] =>[4] }
[15] => array { [exp_num] =>[4] }
[16] => array { [exp_num] =>[4] }
...
我最终需要的是一个具有连续数字值的数组,如
array {
[1]
[2]
[3]
[4]
[5]
}
等等。
如何在一个mySQL语句中实现它?
答案 0 :(得分:1)
您正在寻找的是不同的关键字
SELECT DISTINCT exp_num FROM Table
因此您需要使用$sth->fetchAll(PDO::FETCH_COLUMN, 0);
获得结果
或者将array_values()
与您的获取解决方案一起使用。