1、创建测试表、插入数据
create table test(id int,
name varchar(10))
insert into test values (1,'张三')
insert into test values (2,'李四')
insert into test values (3,'王五')
insert into test values (4,'赵六')
insert into test values (1,'张三')
insert into test values (2,'李四')
2、现在要筛选出重复数据,使查询的数据不重复,可用语句
select id,name from test group by id,name
3、结果如图:
方法如下:select
*
from
你的表名
a
where
id=(select
min(id)
from
你的表名
whereitem_id=a.item_id)
在查询之前先把数据库表中的第一行复制到sid里在去,然后让sid和下面的每一行进行比较
取所有相同的行的最小的一下,也可以取最大的,结果是一样的。
这样让所有的行都比较不就得到不重复的数据了。
说明:下面举例假释文章ID为顺序编号,AUTO INC特性。如果ID没有此特性,可以通过另外的DATE类型字段查找,语句类似。如果你各频道只取最新的一篇,那么可以取MAX(ID)用GROUP BY 频道进行分类,完整的语句是“SELECT 频道, MAX(ID) FROM 表 GROUP BY 频道”,这样可以返回每个频道的最新文章,然后再用一个“SELECT * FROM 表 WHERE ID=?”来获取文章的具体内容。
如果你需要获取各 频道 的最新文章多篇,那么必须用循环语句分别对所有频道进行循环,取各个频道的最新文章N篇,没有任何简便方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)