如何避免mysql中的重复值?

时间:2015-08-03 07:55:12

标签: mysql

我有一个像'table1'这样的表:

id    org_id  project_name project_id emp_id business_id         first_name  from_date 
3862    62      'Project1'    51       2          73             'Employee1' '2015-01-01'
3864    62      'Project2'    52       3          74             'Employee2' '2015-03-18'
3866    62      'Project2'    52       2          74             'Employee1' '2015-06-22'

我希望得到独特的员工。 输出应该是这样的:

id    org_id  project_name project_id emp_id business_id         first_name  from_date 
3862    62      'Project1'    51       2          73             'Employee1' '2015-01-01'
3864    62      'Project2'    52       3          74             'Employee2' '2015-03-18'

任何帮助!!

2 个答案:

答案 0 :(得分:1)

这很容易做到。

id org_id project_name project_id emp_id business_id

当您创建表时,将UNIQUE约束放在您想要唯一/不重复的值的末尾。

CREATE TABLE table1
(
id int NOT NULL,
org_id int NOT NULL,
project_name varchar(255) NOT NULL UNIQUE,
project_id int NOT NULL UNIQUE,
emp_id int NOT NULL UNIQUE,
business_id int NOT NULL UNIQUE,
first_name varchar(255) NOT NULL UNIQUE,
from_date datetime NOT NULL,
)

希望它有所帮助!

编辑:如果您希望输入的信息也是唯一的:

SELECT * FROM table1

然后循环考虑您收到的值,并检查值project_name,project_id,emp_id,business_id或first_name是否与给定值之一相同。然后其中一个值不是唯一的。

答案 1 :(得分:0)

Select DISTINCT org_id,project_name,project_id,emp_id,business_id,first_name FROM table1