Вопрос № 124119: Уважаемые эксперты, помогите решить вопрос, мне нужно выбрать из базы mysql все элементы с уникальным значением ячейки.
Структура таблицы следующая :
id|date|ip
1 | 1202682810 | 172.25.139.187
2 | 1202682819 | 172.25.139.189 ...
Вопрос № 124.119
Уважаемые эксперты, помогите решить вопрос, мне нужно выбрать из базы mysql все элементы с уникальным значением ячейки.
Отвечает: Esi
Здравствуйте, Миленин Александр!
Попробуйте так:
select distinct ip, date
from tablemysql
Хотя с mysql я не работал, но думаю, что будет работать.
Ответ отправил: Esi (статус: 3-ий класс)
Ответ отправлен: 20.02.2008, 21:51 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за ответ, мне это очень помогло.
Ответ отправил: Товарищ Бородин / Borodul (статус: Профессионал) Россия, Новосибирск Тел.: +7-923-245-3366 ICQ: 346988855 ---- Ответ отправлен: 20.02.2008, 21:57 Оценка за ответ: 5 Комментарий оценки: Большое спасибо! Как раз то, что мне нужно.
Отвечает: heap11
Здравствуйте, Миленин Александр!
Ещё вопрос, конечный запрос выглядит так : SELECT DISTINCT `ip` , `id` , `date` , `ip_num` , `mac` , `name` , `workgroup` FROM `lan`
т.е. я пытаюсь выбрать не только ip, но и остальные ячейки, но повидимому DISTINCT распростряняется на все, поэтому всё равно выводятся одинаковые ip, как выбрать все элементы с уникальными ip?
Если поле id уникально, т.е. не допускается дублирование значений id в разных записях, то в MSSQL сработает следующий скрипт:
SELECT A.*
FROM lan A
, ( Select ip , min(id) id From lan GROUP BY ip ) B
WHERE A.id = B.id
Может быть это годится и для MYSQL ?
Приложение:
Ответ отправил: heap11 (статус: 9-ый класс)
Ответ отправлен: 20.02.2008, 23:06 Оценка за ответ: 5
Отвечает: Коровин Александр
Здравствуйте, Миленин Александр!
Попробуйте следующий запрос, я его не проверял, но должен работать:
SELECT id, date, ip
FROM table
WHERE ip IN (SELECT DISTINCT ip FROM table)
Ответ отправил: Коровин Александр (статус: 2-ой класс)
Ответ отправлен: 21.02.2008, 08:04 Оценка за ответ: 5 Комментарий оценки: Спасибо за помощь!
Отвечает: Zubex
Здравствуйте, Миленин Александр!
Еще попробуйте такой запрос:
select max(id) id,date, ip from t group by ip, dates
Удачи.
--------- Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 8-ой класс)
Ответ отправлен: 21.02.2008, 11:23 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ.