mysql select 除去_MySQL_mysql SELECT语句去除某个字段的重复信息,SELECT语句,去除某个字段的重 - phpStudy...

mysql SELECT语句去除某个字段的重复信息

SELECT语句,去除某个字段的重复信息,例如:

表名:table

id uid username message dateline

1 6  a    111    1284240714(时间戳)

2 6  a    222    1268840565

3 8  b    444    1266724527

4 9  c    555    1266723391

执行语句(去除username字段重复信息并按时间排序):

SELECT *

FROM table a INNER JOIN ( SELECT max( dateline ) AS dateline

FROM table GROUP BY uid ) b ON a.dateline = b.dateline

GROUP BY id ORDER BY a.dateline DESC

结果:

id uid username message dateline

1 6  a    111    1284240714(时间戳)

3 8  b    444    1266724527

4 9  c    555    1266723391

此语句用于显示最新记录信息,在一个区域内不允许某个信息(例如:用户)同时出现多次(一次以上)。

后记:效率问题

开始用了个这语句:

select * from table where dateline IN ( select max(dateline) from table GROUP BY uid ) ORDER BY dateline DESC

IN:当处理数据量比较大的时候,就没效率可言了,所以优化成内联,计算下快了6倍多。。。

继续条效率就加索引了~~相关阅读:

在ASP中调用存储过程的几种方法

php中global和$GLOBALS[]的分析之一

教你只用一个Validator对多个控件进行验证

使用Windows7用户不可错过的77条小知识

拖动布局之保存布局页面cookies篇

ajax 技术和原理分析

Discuz数据库结构参考 方便二次开发

Windows7使用Aero样式怀念经典开始菜单

帝国下载系统 V2.5 增加FCKeditor编辑器的方法

JS面向对象编程 for Cookie

教你美化ubuntu系统

用CSS设计高用户体验的web文字大小

探讨 Windows 2000 无人参与安装

修改z-blog分页页码样式

你可能感兴趣的:(mysql,select,除去)