SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 27.09.2008 20:18:33

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

сравнение двух строк средствами mysql

не нашел в документации, может быть плохо искал.
в общем есть таблица вида
ID|user|pass|declare|other|data
в ней могут быть как строки с одинаковыми значениям (кроме ID и data - они всегда разные) так и со всеми разными. так вот можно ли средствами mysql сравнить значения двух последних строк (data - тип timestamp) между собой и отобрать только отличающиеся ячейки??

Неактивен

 

#2 27.09.2008 20:28:54

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

Re: сравнение двух строк средствами mysql

Сравнивать строки напрямую в MySQL нельзя. Но можно обойти это с помощью переменной. Что-то такое:

SET @a := ''; SELECT @b:=@a, @a:=data, t.* FROM mytable t WHERE t.data!=@b ORDER BY t.data;

Неактивен

 

#3 27.09.2008 20:31:19

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

Re: сравнение двух строк средствами mysql

спасибо большое. а не подскажите где можно почитать об этом поподробнее....

Неактивен

 

#4 27.09.2008 20:43:04

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

Re: сравнение двух строк средствами mysql

Про переменные можно прочитать, например, в документации: http://dev.mysql.com/doc/refman/5.0/en/set-option.html

А Вы уверены, что не подойдет SELECT DISTINCT(data) FROM mytable?

Неактивен

 

#5 27.09.2008 20:57:49

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

Re: сравнение двух строк средствами mysql

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

Неактивен

 

Board footer

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