首先,我想从数据库中提取相关月份的日期。因为我使用了以下查询,并且我已经生成了以下输出。
码
SELECT DISTINCT date as tot FROM attendance WHERE date LIKE '%2016-06%'
输出
然后我需要从数据库中获取该日期的当前employees
。但是当我尝试这个时,它只给我一个日期的总数。我可以来这个。这是我的代码。< / p>
SELECT DISTINCT date as days, COUNT(DISTINCT employee_id) as tot FROM attendance WHERE in_time != '' AND out_time != '' AND date LIKE '%2016-06%'
答案 0 :(得分:1)
您需要使用group by
。当您忽略mysql
列表中未包含在select
函数中的字段时,aggregate
只返回一个任意值。然后,您可以删除distinct
:
SELECT date as days, COUNT(DISTINCT employee_id) as tot
FROM attendance
WHERE in_time != '' AND out_time != '' AND date LIKE '%2016-06%'
GROUP BY date
根据评论,您的date
字段的数据类型是什么?假设它是一个约会,您可以删除like
并使用year
和month
:
AND Month(date) = 6 AND Year(date) = 2016