在下图中我正在使用
SELECT DISTINCT(name),date,reporting,leaving from attendance where date='2016-09-01
我还在重复名字。为什么呢?
答案 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