当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL 查询某个字段不重复的所有记录

MYSQL
MYSQL教程:如何选择正确的数据列类型
MYSQL教程:表达式操作符和数据类型转换
MYSQL教程:索引和查询优化程序
MYSQL教程:数据列类型与查询效率
MYSQL教程:查询优化之有效加载数据
MYSQL教程:查询优化之调度和锁定
MYSQL教程:服务器优化和硬件优化
MYSQL教程:数据目录
MYSQL教程:数据表在系统中表现形式
MYSQL教程:数据表最大尺寸限制
MYSQL教程:状态文件和日志文件
MYSQL教程:调整MySQL数据目录位置
MYSQL教程:数据库安全管理
MYSQL教程:MYSQL启动与退出以及链接故障恢复
MYSQL教程:MySQL用户帐号管理
MYSQL教程:日志文件管理
MYSQL教程:MySQL的一些优化配置
MYSQL教程:优化服务器参数设置
MYSQL教程:运行多个MySQL服务器
MYSQL教程:MySQL服务器镜像配置

MYSQL 中的 MySQL 查询某个字段不重复的所有记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 346 ::
收藏到网摘: n/a

现在想从这5条记录中查询所有title不重复的记录 假设现在有如下N条记录 表明叫book
id author title
1 aaa AAA
2 bbb BBB
3 ccc CCC
4 ddd DDD
5 eee AAA
现在想从这5条记录中查询所有title不重复的记录
select distinct title,author from book这样是不可以的 因为distinct只能作用于一个字段
想请教应该怎么写
答案:
复制代码 代码如下:

select a.* from book a right join (
select max(id) id from book group by title) b on b.id = a.id
where a.id is not null

如果选第一条符合的记录,那么用min(id)就行了
复制代码 代码如下:

select a.* from book a right join (
select min(id) id from book group by title) b on b.id = a.id
where a.id is not null