在mysql我的独特查询不起作用?

时间:2016-09-09 11:28:17

标签: mysql

在下图中我正在使用

 SELECT DISTINCT(name),date,reporting,leaving from attendance where date='2016-09-01

我还在重复名字。为什么呢?

enter image description here

2 个答案:

答案 0 :(得分:1)

使用DISCTINCT时,MySQL使用所有列作为分组因子。如果您只希望将一个组分组并获取所有相应的列值,请改用GROUP BY

SELECT name, date, reporting, leaving FROM attendance GROUP BY name WHERE ...

答案 1 :(得分:0)

实际上,除了Name列之外,你的所有行都有不同的数据,如果你只想要不同的名字,那么你可以借助Aggregate函数得到它,你可以根据你的业务需求使用MIN或MAX

SELECT Name,MAX(date),MAX(reporting),MAX(leaving) 
FROM attendance 
WHERE date='2016-09-01'
GROUP BY Name