2016-02-29 6 views
0

У меня есть MySQL таблицы:Граф результат тот же день, как один

enter image description here

когда я сосчитать записи месяца января с помощью запроса:

SELECT COUNT(*) AS entries FROM daily_call_reports WHERE Month(datetime_in)='01' AND emp_id='E0001' 

я получил результат 5. Но я хочу подсчитывать такие же строки даты, что и один .. в таблице есть две строки той же даты 2016-01-21. Теперь, как считать эти две строки как один.

+0

пожалуйста, напишите ваш желаемый результат здесь, что позволит легко вашим требованиям. –

+0

Я обновляю свой ответ, попробуйте это сейчас. –

ответ

0

В таблице столбец может содержать много повторяющихся значений; а иногда вы хотите только перечислить разные (отличные) значения.

Ключевое слово DISTINCT может использоваться для возврата только отдельных (разных) значений .

Для подсчета разных строк вам необходимо использовать DISTINCT.

SELECT COUNT(DISTINCT DATE_FORMAT(`datetime_in`, '%Y-%m-%d')) as entries FROM daily_call_reports WHERE month(datetime_in)='01' AND emp_id='E0001' 

Попробуйте это и дайте мне знать.

+0

такой же результат его 5 –

+0

@Frayne Konok это не сработает, потому что поле datetime_in имеет разное время с той же датой –

+0

получило это, у вас другое время, но с той же датой. –

0

попробовать это

select count(*) 
from 
(SELECT distinct id,client_id,emp_id,...., CAST(re.datetime_in AS DATE) AS DATE_PURCHASED 
FROM daily_call_reports re 
WHERE Month(datetime_in)='01' AND emp_id='E0001') 
+0

неправильный запрос. полная ошибка –

+0

Ключ вам нужно преобразовать дату time_in в значение только даты, а затем использовать различные, чтобы выбрать таблицу. Я думаю, что CAST (re.datetime_in AS DATE) должен работать над преобразованием – Chuck

Смежные вопросы