как можно сделать в скрипте (bash) операцию, которая делала бы новую таблицу table2 (int gid, int summ) где summ - сумма uid, которые были в gid ?
т.е. в первой таблице
1 1
1 2
1 3
2 1
2 2
значит во второй будет
1 3
2 2
Просто с mysql не особо
Модераторы: SLEDopit, Модераторы разделов
user@localhost
mysql> create temporary table table1 (gid int, uid int);
mysql> insert into table1 (gid, uid) values (1,1),(1,2),(1,3),(2,1),(2,2);
mysql> select * from table1;
+------+------+
| gid | uid |
+------+------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
+------+------+
mysql> create temporary table table2 select gid, count(uid) from table1 group by gid;
mysql> select * from table2;
+------+------------+
| gid | count(uid) |
+------+------------+
| 1 | 3 |
| 2 | 2 |
+------+------------+user@localhost
mysql> create temporary table table2 select gid, sum(uid) from table1 group by gid;
mysql> select * from table2;
+------+----------+
| gid | sum(uid) |
+------+----------+
| 1 | 6 |
| 2 | 3 |
+------+----------+Т.е. создаем таблицу, но не перечисляя столбцы и их типы, а обычный select из другой таблицы? отлично, то, что нужно. А как потом добавлять в эту таблицу2 обновленные значения?
я и предлагаю оптимизацию....