SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.11.2008 23:09:57

xfather
Участник
Зарегистрирован: 03.11.2008
Сообщений: 3

двойной group

Помогите пожалуйста сделать запрос к базе.
Имеется грубо говоря база с полями name и ip.
Оба поля могут быть любыми, то есть могут быть как дубли name, так дубли ip.
нужно узнать количество уникальных ip на каждый name одним запросом, то есть результатом запроса должна получиться таблица
name1 - cnt1
name2 - cnt2
name3 - cnt3
...

То есть фактически нужно сделать сначала group по name, а потом group в каждом name по ip.
Даже не представляю как это можно сделать sad. Заранее спасибо за помощь.

Неактивен

 

#2 03.11.2008 23:26:29

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: двойной group

SELECT name, count(*) FROM tbl GROUP BY name;

Неактивен

 

#3 03.11.2008 23:36:14

xfather
Участник
Зарегистрирован: 03.11.2008
Сообщений: 3

Re: двойной group

rgbeast написал:

SELECT name, count(*) FROM tbl GROUP BY name;

Вы невнимательно прочитали, мне нужно не количество ip а количество уникальных ip

Неактивен

 

#4 03.11.2008 23:39:02

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: двойной group

SELECT name, count(DISTINCT ip) FROM tbl GROUP BY name;

Неактивен

 

#5 03.11.2008 23:48:30

xfather
Участник
Зарегистрирован: 03.11.2008
Сообщений: 3

Re: двойной group

rgbeast написал:

SELECT name, count(DISTINCT ip) FROM tbl GROUP BY name;

Спасибо большое. Это уже похоже на правду

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson