当前位置:Gxlcms > PHP教程 > 循环1个结果集,

循环1个结果集,

时间:2021-07-01 10:21:17 帮助过:4人阅读

表1

--------------------------------------------------------
| id | leiName | Nid | NName | Tid | Title |
| 2 | 类名1 | 4   | 手机 | 99 | ddddd |
| 3 | 类名2 | 5   | 手机1 | 98 | dererd |
| 6 | 类名3 | 3   | 手机 | 97 | dbbvd |
| 3 | 类名6 | 8   | 手机3 | 96 | 31231dd |


求,根据 Tid的从大到小排列,排3个结果,如 NName 相同的忽略

手机
手机1
手机//相同的忽略
手机3

mysql语句怎么写的。。


回复讨论(解决方案)

group by NName

select * from
(select * from 表1 order by Tid desc) tt
group by NNname;

select * from
(select * from 表1 order by Tid desc) tt
group by NNname;

tt 是表名1吗?

tt 是别名


tt 是别名

最后的结果集排序,乱了。没按 Tid 排序。

你的sql是如何写的。建议你贴出
create table....;
insert into table....; 语句

及期望结果,并给以简单的算法描述。

你的sql是如何写的。建议你贴出
create table....;
insert into table....; 语句

及期望结果,并给以简单的算法描述。

--------------------------------------------------------
| id | leiName | Nid | NName | Tid | Title |
| 2 | 类名1 | 4   | 手机 | 99 | ddddd |
| 3 | 类名2 | 5   | 手机1 | 98 | dererd |
| 6 | 类名3 | 3   | 手机 | 97 | dbbvd |
| 3 | 类名6 | 8   | 手机3 | 96 | 31231dd |


SQL 视图就这样的哦。然后就是根据 Tid来排序,

99 手机 ddddd
98 手机1 dererd 
97 发现手机已经出现了,忽略,主要是怎么忽略这个。
96 手机2 31231dd

算了。我看使用数组来过滤好了。



Array
(
[id] => 39
[xClass] => 超级王
[Title] => 方式发送到
[NURL] =>
[CreateDate] => 2013-05-12 15:28:46
)
1
Array
(
[id] => 32
[DCName] => 玄
[CURL] =>
[Item1] => 风
[Nid] => 62325
[xClass] => 重天
[Title] => fsfsd
[CreateDate] => 2013-05-12 15:27:28
)
1
Array
(
[id] => 32
[DCName] => 玄
[CURL] =>
[Item1] => 风
[Nid] => 62324
[xClass] => 重天
[Title] => dddddddd43432
[CreateDate] => 2013-05-12 15:26:54
)

得到这样数组。
xclass = 重天。就排除,留1个。用那个函数。

运行#2的sql代码不行?

贴数组请贴出经 var_export() 后的数据。

$arr=你的数组;$t=array();foreach($arr as $v){    if(!isset($t[$v['xClass']])){	    $t[$v['xClass']]=$v;  	}}print_r(array_values($t));

运行#2的sql代码不行?

贴数组请贴出经 var_export() 后的数据。


得到的结果列表很乱,不是按Tid 排序。同时 当出现1个手机后,第三排在出现没忽略。

while($rsrow=$result->fetch_assoc()){
echo '

';  
print_r($rsrow);
echo '
';
}

得到的数组如下
Array
(
[id] => 3
[DCName] => 玄
[CURL] => 3
[Item1] => 唐
[Nid] => 62326
[xClass] => 超级王
[Title] => 方式发送到
[NURL] =>
[CreateDate] => 2013-05-12 15:28:46
)

Array
(
[id] => 3
[DCName] => 玄
[CURL] => 3
[Item1] => 唐
[Nid] => 62325
[xClass] => 重天
[Title] => fsfsd
[NURL] =>
[CreateDate] => 2013-05-12 15:27:28
)

Array
(
[id] => 3
[DCName] => 玄
[CURL] => 3
[Item1] => 唐少
[Nid] => 62324
[xClass] => 重天
[Title] => dddddddd43432
[NURL] =>
[CreateDate] => 2013-05-12 15:26:54
)

最终过滤 当 键 xClass的值 重天出现过1次后,以后则忽略。
这个函数时?

select * from 表1 group by NNname order by Tid desc

while($rsrow=$result->fetch_assoc()){

$arr[]=$rsrow;
}

然后用 #10 代码

孩纸,这样子的问题你需要去查资料,这样等这别人直接写出来的结果对你没什么帮助~~~~

人气教程排行