5

голосов
4

ответ
3.5k

Просмотры

Как мне справиться с «рангом х из у» данных в PostgreSQL?

У меня есть таблица, в которой я хотел бы быть в состоянии представить «ранг X из Y» данные для. В частности, я хотел бы быть в состоянии представить, что данные для отдельной строки в относительно эффективным способом (т.е. без выбора каждой строки в таблице). Сам рейтинг довольно прост, это прямая ORDER BY на один столбец в таблице. Postgres, кажется, представляют некоторые уникальные проблемы в связи с этим; AFAICT он не имеет RANK или ROW_NUMBER или эквивалентную функцию (по крайней мере в 8,3, который я застрял на на данный момент). Канонический ответ в архивах списка рассылки, кажется, чтобы создать временную последовательность и выбрать из него: тест => создать временную tmp_seq последовательности; СОЗДАТЬ тест ПОСЛЕДОВАТЕЛЬНОСТЬ = *> выберите NEXTVAL ( '') tmp_seq как row_number, col1, col2 из Foo; Похоже, что это решение все равно выиграл» т помощь, когда я хочу, чтобы выбрать только одну строку из таблицы (и я хочу, чтобы выбрать его ПК, а не по рангу). Я мог денормализовать и сохранить звание в отдельной колонке, что делает представление данных тривиально, но просто перемещает мою проблему. UPDATE не поддерживает ORDER BY, так что я не знаю, как я бы построить запрос UPDATE для установки в ряды (короткие выбора каждой строки и работает отдельный UPDATE для каждой строки, который кажется слишком много ДБ деятельности в запускать каждый раз, когда ряды нуждаются в обновлении). Я пропускаю что-то очевидное? Что такое правильный способ сделать это? EDIT: Видимо, я был не совсем понятен. Я знаю OFFSET / LIMIT, но я не вижу, как это помогает решить эту проблему. Я не пытаюсь выбрать Xth-ранжированный элемент, я пытаюсь выбрать произвольный элемент (по его ПК, скажем),
Carl Meyer
4

голосов
3

ответ
1k

Просмотры

@ Шрифт лицо вложено в @media не работает в Firefox 3.5 и IE8

Обновление: Похоже, я попал в корреляции, который не был на самом деле причиной этой проблемы. Проблема была фактически связана проблема в том, как были размещены файлы CSS. Смотрите мой ответ ниже для получения подробной информации. У меня есть @ шрифта лицо работает хорошо в WebKit (Safari и Chrome) и Opera, но не в Firefox 3.5 или IE 8. В соответствии с рекомендациями по Google и другие, я служу все статические активы, включая CSS, из отдельного домена, с моей основной сайт. Если я служу все из той же области, он отлично работает во всех браузерах (примечание:.. Это означает, что ответы на вопросы о синтаксисе CSS бесполезны у меня уже есть все, что понял, и работает прекрасно Это только о проблемах между доменами) , Если я служу CSS и файлы шрифтов из моего статического домена активов, и есть сервер статических активов установить соответствующий заголовок управления доступом (Access-Control-Allow-Origin), который должен работать, она работает везде, кроме FF 3.5 и IE. Что мне нужно сделать, чтобы сделать эту работу?
Carl Meyer
4

голосов
3

ответ
18.1k

Просмотры

Джексон десериализации - с ArrayList в замкнутых

Добрый день, я в настоящее время интеграция пытается использовать службу REST, который производит JSON (написанный на .NET), используя Джексон (с Джерси). JSON состоит из возможного сообщения об ошибке и массив объектов. Ниже приведен пример из JSON возвращается как производится каротажного фильтром Джерси: { "Ошибка": NULL, "объект": "[{\" Идентификатор \ ": 16, \" Класс \ ": \" ReportType \», \ "ClassID \": \ "4 \", \ "ListItemParent_ID \": 4, \ "Item \": \ "Ямочный \", \ "Описание \": \ "выбоина \", \ "Последовательность \": 1 \ "LastEditDate \": нулевой, \ "LastEditor \": нулевой, \ "ItemStatus \": \ "Активный \", \ "ItemColor \": \ "# 00AF64 \"}]»} у меня есть два класса в представляют собой тип (внешний ListResponse): общественного класса ListResponse {ошибка общественности строки; объект общественного ArrayList; общественного ListResponse () {}} и (внутренняя ListItem): класс ListItem общественности {@JsonProperty ( "Id") публичный идентификатор ИНТ; @JsonProperty ( "Класс") публичная Строка ClassType; @JsonProperty ( "ClassID") публичная Строка Classid; @JsonProperty ( "ListItemParent_ID") публичное ИНТ ParentID; @JsonProperty ( «Пункт») пункт общественной строки; @JsonProperty ( «Описание») Описание общественности Строки; @JsonAnySetter общественного ничтожной handleUnknown (строковый ключ, значение Object) {} общественного ListItem () {}} Класс, который вызывает и возвращает JSON выглядит следующим образом: CitizenPlusService общественного класса {частный клиент Client = NULL; частное обслуживание WebResource = NULL; общественного CitizenPlusService () {initializeService ( "HTTP: // локальный: 59105 / PlusService /"); } Частная пустота initializeService (String BaseUri) {// Использование конфигурации клиента по умолчанию. ClientConfig clientConfig = новый DefaultClientConfig (); . ClientConfig.getClasses () добавить (JacksonJsonProvider.class); клиент = Client.create (clientConfig); // Добавить протоколирование фильтра для отслеживания связи между сервером и клиентом. client.addFilter (новый LoggingFilter ()); // Добавляем барщина URI = client.resource (UriBuilder.fromUri (BaseUri) .build ()); } Общественного ListResponse getListItems (строковый идентификатор) бросает исключение {ответ ListResponse = service.path (»[email protected] ; Линия: 1, колонок: 14] (через эталонную цепь: citizenplus.types.ListResponse [ "объект"]) Пожалуйста , оказать помощь. С уважением, Карл-Питер Мейер
Carl Meyer
27

голосов
8

ответ
4.2k

Просмотры

Как переименовать функцию оргии?

Я разрабатываю некоторые удобства оберток вокруг другого программного пакета, который определяет функцию Баша. Я хотел бы заменить их функцию оргии с одинаково именем функции самостоятельно, в то время как еще в состоянии выполнить свою функцию из шахты. Другими слова, мне нужно либо переименовать свою функцию, или создать какое-то постоянный псевдоним к нему, что не будет изменен, когда я создаю свою функцию с тем же именем. Чтобы дать краткий пример наивной попытки, что я не ожидал, что работать (и на самом деле это не так): $ theirfunc () {эхо «делать свое дело»; } $ _Orig_theirfunc () {theirfunc; } $ Theirfunc () {эхо "делать свое дело"; _orig_theirfunc} $ theirfunc мои вещи мои вещи делать свое дело ... Конечно, я не хочу, зацикливание, я хочу: не мое дело делать свое дело Как я могу это сделать?
Carl Meyer
3.8k

голосов
30

ответ
1.5m

Просмотры

Как объединить два словаря в одном выражении?

У меня есть два словарей Python, и я хочу, чтобы написать одно выражение, которое возвращает эти два словаря, сливались. Метод обновления () будет то, что мне нужно, если он возвращается его результат вместо модификации Dict на месте. >>> х = { 'а': 1, 'B': 2} >>> у = { 'B': 10, 'с': 11} >>> г = x.update (у) >>> печать (г) ни >>> х { «а»: 1, «B»: 10, «с»: 11} Как я могу получить, что окончательный объединенный ДИКТ в г, а не х? (Для того, чтобы быть очень чистым, последний один-выигрывает конфликт-обращение dict.update () является то, что я ищу, как хорошо.)
Carl Meyer