2015-12-29 2 views
0

Я пытаюсь выбрать различные IP-адреса за все время с сегодняшней даты, и он вернул 39 строк, но это должно быть меньше, поскольку некоторые из IP-адресов не отличаются друг от друга, поскольку они посетили с сегодняшнего дня. Что я делаю не так?Получение сегодняшней отличной даты от mysql

SELECT DISTINCT (ip), DATE AS tempDate 
FROM `ipAll` 
HAVING tempDate = '2015-12-29' 
LIMIT 100 

ответ

0

Вы должны использовать условие WHERE, как показано на рисунке ниже. Предположим, что у вас есть столбец типа date с именем tempdate, в котором вы храните посещенное datetime.

SELECT DISTINCT ip 
FROM `ipAll` 
WHERE tempDate = CURDATE(); 
+0

№ Это вернуло тот же точный результат, что и мой запрос. 39 рядов. – frosty

+0

Также дата - это название столбца. – frosty

+0

Кроме того, я не хочу выбирать отличную дату с сегодняшнего дня. Я хочу выбрать отличную дату из ВСЕХ ВРЕМЕНИ, которые ПОСЕТИЛИ сегодня. – frosty

0

Вместо предложения HAVING используйте WHERE CLAUSE и избавьтесь от котировок на имя таблицы. HAVING CLAUSE используется, когда вы используете предложение GROUP BY.

+0

Это не кавычки, а символ escape-кода mysql. нет ничего неправильного в использовании их с именем таблицы/столбца. – Rahul

+0

Хорошо, спасибо, что сказали мне, что я думал, что «используются для строки и« »используются для псевдонимов. –

+0

'' '' - это стандартная escape-последовательность ANSI, но у определенных RDBMS могут быть свои собственные, как mysql использует backtique тот, который вы видите, и MSSQL использует '[]' – Rahul

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