欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

循环1个结果集,

程序员文章站 2024-01-16 19:10:34
...
表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 代码

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

相关标签: 循环1个结果集,