mysql distinct 对多字段过滤不正确的解决方法
下面先来看看例子:
table
id name
1 a
2 b
3 c
4 c
5 b
库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table
得到的结果是:
name
a
b
c
好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
id name
1 a
2 b
3 c
4 c
5 b
distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与name都相同的才会被排除。。。。。。。
解决方法: select id, name from table group by name
哈哈!请适应MYSQL的写法吧
相关文档:
MySQL Administrator 是什么软件?
MySQL Administrator 是一个专门用于管理 My SQL 4.X 和 5.X My SQL数据库的软件,可以使用这个软件备份My SQL数据库,还原My SQL数据库。
注:如果你的数据库是 MS SQL 2000 数据库,请参考这里,使用 MS SQL 2000 企业管理器管理
下载 MySQL Administrator 软件
http://61.139.76 ......
EXPLAIN 是mysql解释select查询的一个关键字,可以很方便的用于调试
语法格式如下
EXPLAIN tbl_name
或者:
EXPLAIN SELECT select_options
EXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息。
EXPLAIN tbl_name 语法和 DESCRIBE tbl_name 或 SHOW COLUMNS ......
1、控制面板里的增加删除程序内进行删除
2、删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除
3、开始->运行-> regedit 看看注册表里这几个地方删除没有
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\S ......
数据库表单的创建
mysql> create database shuishengmu;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql & ......