Сортировка базы данных
Требуется отсортировать базу данных:
| 1 | 2 | 3 |
|---|---| ---|
| аа| а | 111|
| bb| а | 222|
| bb| b | 123|
| cc| а | 123|
| cc| b | 123|
| cc| c | 123|
Я беру значение "а" из колонки 2 нахожу таких же "а" в итоге должно получится так:
| 1 | 2 | 3 |
|---|---| ---|
| аа| а | 111|
| bb| а | 222|
| cc| а | 123|
Нахожу минимальное число из колонки 3:
| 1 | 2 | 3 |
|---|---| ---|
| аа| а | 111|
После того как определилось со значением "а" переходим к "b" и так до конца. Как можно это реализовать это в коде? Я предполагаю что это будет в цикле. Это всего лишь пример, так этих значений из колонки 2 в моей базе 8 шт не больше не меньше.
Ответы (1 шт):
Автор решения: HeathRow
→ Ссылка
create table table1 (
field1 text,
field2 text,
field3 integer
);
insert into table1 select 'aa', 'a', 111;
insert into table1 select 'bb', 'a', 222;
insert into table1 select 'bb', 'b', 123;
insert into table1 select 'cc', 'a', 123;
insert into table1 select 'cc', 'b', 234;
insert into table1 select 'cc', 'c', 123;
select
(select field1 from table1 where field2 = t1.field2 order by field3 limit 1) field1,
t1.field2 field2,
min(t1.field3) field3
from
table1 t1
group by
t1.field2;