@Edisoni

Как выбрать из таблицы последнюю запись для каждого числа?

Подскажите, у меня есть таблица :
id number date value type
0 666 ---- --11- --
1 777 ---- --22- --
2 666 ---- --34- --
3 666 ---- --44- --
4 777 ---- --12- --
5 888 ---- ---2- --

Мне нужно взять для каждого числа последнюю его запись.

id = 3 , number = 666, date = ---, value = --44-
id = 4 , number = 777, date = ---, value = --12-
id = 5 , number = 888, date = ---, value = ---2-

У меня есть код где делается выборка по type, но вот как сделать выборку которая выше не понимаю.
Ведь в CursorLoader андроида нет возможности писать SQL запрос, а его параметры не позволяют получить требуемый результат.

@Override
    public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
            return new CursorLoader(getActivity(), TABLE.URI,null,"_type=?",new String[]{"0"},null);
    }
  • Вопрос задан
  • 2727 просмотров
Решения вопроса 1
@Edisoni Автор вопроса
Все разобрался
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Может сделать view в sqlite базе:
SELECT * FROM table t1
WHERE t1.id IN (
  SELECT MAX(t2.id)
  FROM table t2
  GROUP BY t2.number
)

или
SELECT * FROM table t1
WHERE t1.id = (
  SELECT MAX(t2.id)
  FROM table t2
  WHERE t2.number = t1.number
)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы