Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 04:32   #1
stck
Пользователь
 
Аватар для stck
 
Регистрация: 14.06.2010
Сообщений: 84
Печаль Сравнение ячеек в ряду

Вид исходной таблицы таков:
ST_1 | ST_2 | ST_3 | ST_4
------ ------ ------ ------
АИ-95 АИ-98 АИ-95 АИ-80

Каким способом добиться вида:
MAX |
-----
АИ-95

То есть найти максимальное повторяющиеся строки в ряду?
stck вне форума Ответить с цитированием
Старый 17.05.2011, 08:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
SELECT TOP 1 U.*
  FROM (
    SELECT T.Pole,COUNT(*) AS RecCount
      FROM Tablica T
      GROUP BY T.Pole) U
  ORDER BY U.RecCount DESC
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.05.2011, 09:03   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

никак!
сначала транспонируйте матрицу, а потом уже выбирайте..

Транспонировать можно, например, так (с учётом что все поля ST_xx имеют один и тот же тип!):
Код:
select ST_1 as STT from ВашаТаблица
union all
select ST_2 as STT from ВашаТаблица
union all
select ST_3 as STT from ВашаТаблица
union all
select ST_4 as STT from ВашаТаблица
ну а потом уже банально
Код:
SELECT * FROM ТрансТабле 
where  STT in 
       (select top 1 B.STT, count(*) as cnt 
          from ТрансТабле B 
          group by B.STT
          order by 2 desc)
вместо ТрансТабле можно подставить прямо вышеприведённый запрос. Многие СУБД это позволят....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.05.2011, 11:20   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
никак!
сначала транспонируйте матрицу, а потом уже выбирайте..
Точно ступил, не понял вопроса. Что-то мне кажется автор имеет ввиду поиск в каждой строке таблицы наиболее часто встречающегося значения. Или опять туплю? Если это так, то без какого-либо уникального идентификатора строки не обойтись
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.05.2011, 12:14   #5
stck
Пользователь
 
Аватар для stck
 
Регистрация: 14.06.2010
Сообщений: 84
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
.. поиск в каждой строке таблицы..
Нет нет нет, всего лишь одна строка.
Serge_Bliznykov, спасибо , разобрался
stck вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение ячеек. fomaateist Microsoft Office Excel 3 04.02.2011 21:28
сравнение ячеек Михаил2261 Microsoft Office Excel 6 29.09.2010 02:55
сравнение ячеек Михаил2261 Microsoft Office Excel 1 06.07.2010 19:29
Сравнение ячеек xxxxx0111 Microsoft Office Excel 4 12.02.2010 17:29
сравнение ячеек emc2 Microsoft Office Excel 6 18.10.2008 21:08