Вопрос по SQL
SELECT DISTINCT Data FROM Table1;
![](/images/graemlins/wink.gif)
abc....- то есть вообще будут выводиться только уникальные буквы.
А вроде нужно только сворачивать последовательные одинаковые символы в один.
Какая БД?
Строки в нормальной БД неупордоченны, т.е. нет такого - вот это строка предыдущая для вот этой.
Если конечно это не dbf какой нить, где строки все таки неявно понумерованы.
rownum надо юзать
Если что, в примере символы по возрастанию получились случайно - я просто переделал исходный пример, а в нем уникальные получились по алфавиту.
Или ты хочешь сказать, что DISTINCT устраняет только соседние дубликаты?
он хочет сказать, что в базе нет понятия: "соседние" строки
a
b
b
с
аналогично
b
a
b
с
Следовательно никаких последовательностей и быть не может.
он хочет сказать, что в базе нет понятия: "соседние" строки
Ааа.
Следовательно никаких последовательностей и быть не может.
Понятно.
Я это понимаю.
Другой вопрос - что хочет автор темы.
Скорее всего он подразумевает, что эти символы все-таки как-то упорядочены (по другому полю).
В этом случае вариант тоже не подходит.
А вот как должен выглядеть правильный вариант - не знаю - думаю, что на SQL это если и можно написать, то очень громоздко.
1. Что определяет порядок дат? "Так было в файле, из которого оно в базу попало" не подойдет
![](/images/graemlins/smile.gif)
2. Какая БД используется?
2) БД MySQL
![](/images/graemlins/wink.gif)
SELECT t1.data FROM table1 AS t1 WHERE
(SELECT count(data) FROM table1 WHERE
data <> t1.data AND
time >= (SELECT max(time) FROM table1 WHERE
time < t1.time AND
data = t1.data) AND
time <= t1.time) > 0
OR
(SELECT count(data) FROM table1 WHERE
time < t1.time AND
data = t1.data) = 0
ORDER BY t1.time;
а обязательно для этого прям БД использовать? Может в файл писать?
Для нормальной БД+1
a
b
b
с
аналогично
b
a
b
с
Информация во временном поле у этих данных является искажённым из за программной ошибки микроконтроллера на устройстве источника данных
БД ведь стоит на компе?
Тогда что мешает при регистрации данных брать время с компа, а не с микроконтроллера?
Оставить комментарий
Gasparfx
Сорри если вопрос тупой, но я ламер в этом деле, так что прошу сильно не бить...Короче задача такая: есть таблица Table1, в ней есть поле Data следующего содержимого(каждая буква, это отдельная запись, для удобства записал в строку):
SELECT Data FROM Table1;
надо сформировать SQL запрос, так чтобы в результате выборки, участки с повторяющимися символами были возвращены как один символ, т.е. вышеприведённый пример был бы такой: