Я думаю, вы хотите:
select tt.category, tt.shop_name, tt.price, tt.updated, tt.avg_price,
dense_rank() over (partition by tt.category order by tt.avg_price desc)
from (select category, lower(shop_name) as shop_name,
(price::int) as price, updated::date as updated,
avg(price) over (partition by category, lower(shop_name)) as avg_price
from prices
) tt
Я упростил некоторые из логики, но главное изменение - partition by
для rank()
. Вы, кажется, хотите рейтинг для каждого магазина. dense_rank()
также более уместно.
Если вы хотите дифференцировать категории с одинаковой переизбыточной ценой:
dense_rank() over (partition by tt.shop_name order by tt.avg_price desc, category)
TinyOS (записанный на диалекте C) был портирован к некоторым микроконтроллерам PIC:
Но если все, что Вы хотите сделать, простой ввод-вывод затем его путь, более сложный, чем Вам нужно и вероятно намного легче только написать код самим, чем проходят кривую обучения.
Otherise это возможный записать довольно сложную логику с помощью PLC 'лестничный подход' логики. Существует один на основе микроконтроллеров PIC в:
Я никогда не видел библиотеку как это. Это, вероятно, потому что конфигурации ввода-вывода могут действительно отличаться от одного проекта до другого, делая его действительно трудно, чтобы иметь "универсальный" набор функций.
Это зависит от который PIC, конечно. PIC24/dsPIC имеют много уровней прерывания, и это просто в использовании их для создания простого основанного на приоритете планировщика.
Для детерминизма и хорошего A/D фильтрация трудно разбить систему несколькими основанными на таймере уровнями прерывания.
Если Вы действительно хотите ОС, вот некоторые: Contiki pico|OS TNKernel
Посмотрите на компилятор CCS C ( http://www.ccsinfo.com ). Он имеет прекрасную всеобъемлющую библиотеку для обработки цифровых входов / выходов, АЦП, обмена данными по общей шине. Также доступны учебные пособия и платы для разработки.
У него есть замечательный форум одноранговой поддержки http://www.ccsinfo.com/forum . Если вы рассматриваете CCS C, обязательно посетите этот форум, потому что он определит для вас некоторые особенности этой IDE.
Это относительно недорого. Пользуюсь им уже много лет. Он делает адекватную работу.