我在如何从相同名称的(三个)的多个值中显示/回显单个名称方面遇到了问题。我的表名是usages
。
id | account | amount | date
1 Purchase 10000 2015-04-01
2 Repair 200000 2015-04-02
3 Purchae 30000 2015-04-03
4 Purchase 10000 2015-04-04
5 Mafanikio 20000 2015-04-04
6 Simon 20000 2015-04-04
7 Spare 10000 2015-04-04
这是我的PHP代码:
global $database;
$i = 1;
$seL = "SELECT * FROM usages ";
$Q =$database->query($seL);
$num = $database->query_to_num_rows($seL);
if($num !=0) {
while ($fet =$database->fetch_array($Q)) {
$show =$fet['account'];
$sel2 ="SELECT * FROM usages WHERE account = '$show' GROUP BY account ";
$Que =$database->query($sel2);
$numR =$database->query_to_num_rows($sel2);
if($numR ==1) {
$arr = $database->fetch_array($Que);
echo "<br> ".$i++. " ". $a =$arr['account'];
这里的结果是:
1 Purchase
2 Repair
3 Purchase
4 Purchase
5 Mafanikio
6 Simon
7 Spare
我想要的答案我需要像这个
1 Purchase
2 Repair
3 Mafanikio
4 Simon
5 Spare
我不想重复同样的名字。
使用DISTINCT
在一个表中,一列可能包含许多重复的值;有时您只想列出不同的(不同的)值。
DISTINCT关键字只能用于返回不同(不同)的值。
将此作为查询:
"SELECT DISTINCT * FROM usages WHERE account = '$show'";
"SELECT DISTINCT * FROM usages ";
使用你想从中获得的任何一个名字。
global $database;
$i = 1;
$seL = "SELECT DISTINCT account FROM usages ";
$Q =$database->query($seL);
$num = $database->query_to_num_rows($seL);
if($num !=0) {
while ($fet =$database->fetch_array($Q)) {
$show =$fet['account'];
$sel2 ="SELECT * FROM usages WHERE account = '$show'";
$Que =$database->query($sel2);
$numR =$database->query_to_num_rows($sel2);
if($numR ==1) {
$arr = $database->fetch_array($Que);
echo "<br> ".$i++. " ". $a =$arr['account'];