0

как я могу перевести следующий SQLite запрос к основным даннымкак SQLite запрос основных данных

select name, firstname, class, telephone, entryDateTime, counselor, count() 
    from myTable 
    group by strftime('yy-mm-dd', entryDateTime), name, class, counselor 
    order by entryDateTime desc; 

what did i try?

я хочу, чтобы сгруппировать по дате (уу-мм-дд), класс, советник , и имя. entryDateTime находится в UTC, но его нужно преобразовать в локальное время.

заранее спасибо

ответ

1

Наиболее гибкий метод для «группы по» -подобным запросам является NSFetchedResultsController. Пожалуйста, см. Мой answer пару дней назад, который должен вам помочь.

Для решения проблемы подгруппы, основанной на нескольких атрибутах, вы просто используете sectionNameKeyPath в качестве подгруппы и выполняете другую группировку после извлечения.

В качестве альтернативы рассмотрите возможность добавления необходимых атрибутов в другую сущность и группу.

+0

Я уже видел ваш ответ. Мне нужно группировать более одного атрибута и использовать совокупность count. Я не буду использовать разделы. но я должен считать и группировать более чем один атрибут и сортировать desc on date (yy-mm-dd). как я могу достичь этого с помощью nsfetchcontroller? –

+0

Вы можете группировать по первому атрибуту (дате), а затем работать с подгруппой, когда вам это нужно. Я также предлагаю другую альтернативу в моем отредактированном ответе. – Mundi

+0

хорошо я думал о sectionNameKeyPath для даты с переходным свойством для yy-mm-dd. но мне интересно, как группировать и подсчитывать другие атрибуты этого результата. любой ключ? –