Я предпочитаю следующее, так как оно учитывает вкладку. Если вставка отсутствует, она все равно будет прокручиваться вверх, так как вставка будет 0.
tableView.setContentOffset(CGPoint(x: 0, y: -tableView.contentInset.top), animated: true)
Существует много способов агрегирования строк, но самый простой - это функция, определяемая пользователем. Попробуйте это для способа, который не требует функции. Обратите внимание, что без функции нет простого пути.
Это кратчайший маршрут без пользовательской функции: (он использует функции ROW_NUMBER () и SYS_CONNECT_BY_PATH)
SELECT questionid,
LTRIM(MAX(SYS_CONNECT_BY_PATH(elementid,','))
KEEP (DENSE_RANK LAST ORDER BY curr),',') AS elements
FROM (SELECT questionid,
elementid,
ROW_NUMBER() OVER (PARTITION BY questionid ORDER BY elementid) AS curr,
ROW_NUMBER() OVER (PARTITION BY questionid ORDER BY elementid) -1 AS prev
FROM emp)
GROUP BY questionid
CONNECT BY prev = PRIOR curr AND questionid = PRIOR questionid
START WITH curr = 1;
Легко:
SELECT question_id, wm_concat(element_id) as elements
FROM questions
GROUP BY question_id;
Песонально протестировано на 10g; -)
Из http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php
Этот OTN-поток содержит несколько способов агрегирования строк, включая сравнение производительности: http://forums.oracle.com/forums/message.jspa?messageID=1819487# 1819487