Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как найти строки в таблице с наибольшей заполненностью колонок / 7 сообщений из 7, страница 1 из 1
11.10.2016, 12:41
    #39324397
x17.mstu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
Добрый день.

Есть произвольная таблица c n колонками.
Как найти строки в таблице с наибольшей заполненностью колонок ?


Спасибо.
...
Рейтинг: 0 / 0
11.10.2016, 13:23
    #39324443
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
x17.mstu,

а что считается "заполненностью" колонки? IS NULL? length(table.field)?
...
Рейтинг: 0 / 0
11.10.2016, 13:44
    #39324477
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT t.*
  FROM (
         SELECT
           1      AS id,
           'text' AS txt,
           NULL   AS same
         UNION
         SELECT
           2      AS id,
           'text' AS txt,
           3      AS same
         UNION
         SELECT
           4 AS id,
           NULL AS txt,
           4 AS same
         UNION
         SELECT
           3 AS id,
           NULL AS txt,
           NULL AS same
       ) t
  ORDER BY COUNT(1) OVER(ORDER BY t IS NOT NULL DESC);
...
Рейтинг: 0 / 0
11.10.2016, 14:29
    #39324548
p2.
p2.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
Lonepsychoа что считается "заполненностью" колонки? Это философский вопрос: колонка наполовину полная или наполовину пустая.
...
Рейтинг: 0 / 0
11.10.2016, 15:48
    #39324640
x17.mstu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
Lonepsycho,
lenght()>1
...
Рейтинг: 0 / 0
12.10.2016, 15:10
    #39325387
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
x17.mstu,

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT t.*
FROM
  "произвольная таблица" AS t
ORDER BY
  LEAST(length(f.field1), 1) + LEAST(length(f.field2), 1) + LEAST(length(f.field3), 1) + ... + LEAST(length(f.fieldN), 1) DESC
LIMIT 
  10 -- первые 10 наиболее заполненных строк
...
Рейтинг: 0 / 0
13.10.2016, 09:00
    #39325875
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как найти строки в таблице с наибольшей заполненностью колонок
x17.mstuLonepsycho,
lenght()>1

для length() > 1 придётся чуть поправить запрос. но, я думаю, вы справитесь.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как найти строки в таблице с наибольшей заполненностью колонок / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]