сравнение записей в БД

Vernaja

Новичок
сравнение записей в БД

Здравствуйте!
есть проблема сравнения записей в БД. опишу подробнее.
Существует таблица с типами данных: varchar, int,int...int, int
необходимо сравнить каждую запись с остальными и найти все, которые совпали по всем параметрам (полям).

до меня не доходит как это сделать.
помогите плиииииииииз
 

Dovg

Продвинутый новичок
_полные_ дубликаты ищешь?
цель этого какая?
 

Vernaja

Новичок
полное совпадение по всем полям кроме последнего.
цель-проект.
 

zerkms

TDD infected
Команда форума
сгруппировать по всем полям, кроме последнего
посчитать число совпадений
выбрать те, которых больше 1

GROUP BY + COUNT + HAVING
 

Vernaja

Новичок
логику я и сама знаю.. я не имею предтавления как сравнить
 

Dovg

Продвинутый новичок
не надо сравнивать, надо считать сгрупированные
 

Vernaja

Новичок
хм .. что то я сегодня торможу..
надо почитать про Group by и другие а то давно не использовала.
спасиб за наводку , Dovq

-~{}~ 25.04.08 13:00:

а совпадения каким образом вычисляются? Group by? это же просто группировка
 

Dovg

Продвинутый новичок
Используй технику дзен.
если не помогает, перечитай внимательно 4 пост.
 

Dovg

Продвинутый новичок
я тоже изучаю
что конкретно не понятно из поста zerkms ?
 

Vernaja

Новичок
посчитать число совпадений
необходимо условие подсчета с помощью Count как я понимаю.. а его нет
 

Dovg

Продвинутый новичок
В окне браузера, под логотипом phpclub есть поле ввода, подписанное поиск
если туда вписать HAVING COUNT, то можно найти штук 30 готовых примеров
 

Vernaja

Новичок
:) спасибо Dovg , очень помогло!

-~{}~ 25.04.08 14:21:

а как записать полученные записи в массив, а не просто в переменную? например у меня есть запрос
$query = "SELECT url FROM urls_mod GROUP BY url,p1,p2,p3,p7,p5,p6,p7 having count(*)>=3";
$count1 = query_select_one_var($query);
и вместо $count1 хотелось бы массив

функция обработки запроса такая..

$err=0;

function query_select_one_var($query_temp)
{
$result="";

mysql_connect("localhost", "root", "");
mysql_select_db("links_db");

$query_temp;

$result=mysql_query($query_temp);
$err=mysql_error();
if ($err) { echo "Ошибка ".$err." в запросе ".$query_temp; exit; }

$array=array();
$i=1;
while(list($res)=mysql_fetch_row($result))
{
$array[$i] = $res;
$i++;
}

mysql_close();

return $res = $array[1];
}
 

Dovg

Продвинутый новичок
Посмотри на последнюю строчку функции и подумай, что надо в ней поменять, чтобы получился массив ;)
 

Vernaja

Новичок
return $res = $array[$i]; вместо return $res = $array[1];
аэто то понятно.. меня интересует в запросе.. как это отразится на записи
$count1 = query_select_one_var($query);

так $count1[] = query_select_one_var($query);
или $count1[что здесь?] = query_select_one_var($query);
 

Dovg

Продвинутый новичок
//много написал, а потом стёр
может вам бросить пока не поздно?
 

Akick

Новичок
Автор оригинала: Vernaja
бросить никак нельзя! это же не игрушки
Тогда остатся вариант - выучить азы? Начиная с переменных, а не бросаться сразу за примеры использования?
Всего-то 3-4 часа вдумчивого изучения документации и 50% вопросов отпадут сами по себе.
 

Vernaja

Новичок
когда каждый раз сталкиваешь ся с новым, катастрофически не хватает времени..
 

Dovg

Продвинутый новичок
Vernaja
Предлагаю меньше спать, а в освободившееся время читать мануал.
 
Сверху