powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как найти измененное значение в столбце?
14 сообщений из 14, страница 1 из 1
Как найти измененное значение в столбце?
    #38811159
Есть таблица

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
id  cost  max_cpc  convertion
7    1$        1              10
6    5$        1              11
5    6$        1              14
4    2$        2              15
3    7$        3              15
2    8$        1              1
1    1$        1              10


Как найти последнее измение поля max_cpc (в данном примере это строка с id=4) и от него сделать суммирование полей: cost и convertion одним запросом или с подзапросом?

Не хочется все выбирать и в цикле искать последнее измеение а потом делать новый запос......
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811179
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДенисОгурцов,
Исходя из своего опыта я делаю обычно два поля дополнительно: created & modified которые хранят данные когда было создано и когда было заапдейчено помимо того еще два поля кем.
Если есть другой способ узнать был бы очень рад услышать о таком.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811187
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexnewsДенисОгурцов,
Исходя из своего опыта я делаю обычно два поля дополнительно: created & modified которые хранят данные когда было создано и когда было заапдейчено помимо того еще два поля кем.
Если есть другой способ узнать был бы очень рад услышать о таком.

тригером писать в таблицу логов :)

у тебя способ как и все делают, я тоже так делаю.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811281
alexnews,

Это поле не изменяется. Оно такое при инсерте.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811291
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подозреваю, что нужно читать FAQ по переменным.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811441
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
mysql> create table test (
    -> id int,
    -> cost int,
    -> max_cpc int,
    -> convertion int
    -> );
Query OK, 0 rows affected (0.28 sec)

mysql> insert into test (id, cost, max_cpc, convertion)
    -> select 7,1,1,10 union all
    -> select 6,5,1,11 union all
    -> select 5,6,1,14 union all
    -> select 4,2,2,15 union all
    -> select 3,7,3,15 union all
    -> select 2,8,1,1 union all
    -> select 1,1,1,10;
Query OK, 7 rows affected (0.13 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> select sum(cost), sum(convertion)
    -> from
    -> (
    ->   select @a:=max_cpc
    ->   from test
    ->   order by id desc
    ->   limit 1
    -> ) a,
    -> (
    ->   select @b:=max(id)
    ->   from test
    ->   where max_cpc != @a
    -> ) b,
    -> test
    -> where test.id > @b;
+-----------+-----------------+
| sum(cost) | sum(convertion) |
+-----------+-----------------+
|        12 |              35 |
+-----------+-----------------+
1 row in set (0.01 sec)
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811688
Akina
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
mysql> create table test (
    -> id int,
    -> cost int,
    -> max_cpc int,
    -> convertion int
    -> );
Query OK, 0 rows affected (0.28 sec)

mysql> insert into test (id, cost, max_cpc, convertion)
    -> select 7,1,1,10 union all
    -> select 6,5,1,11 union all
    -> select 5,6,1,14 union all
    -> select 4,2,2,15 union all
    -> select 3,7,3,15 union all
    -> select 2,8,1,1 union all
    -> select 1,1,1,10;
Query OK, 7 rows affected (0.13 sec)
Records: 7  Duplicates: 0  Warnings: 0

mysql> select sum(cost), sum(convertion)
    -> from
    -> (
    ->   select @a:=max_cpc
    ->   from test
    ->   order by id desc
    ->   limit 1
    -> ) a,
    -> (
    ->   select @b:=max(id)
    ->   from test
    ->   where max_cpc != @a
    -> ) b,
    -> test
    -> where test.id > @b;
+-----------+-----------------+
| sum(cost) | sum(convertion) |
+-----------+-----------------+
|        12 |              35 |
+-----------+-----------------+
1 row in set (0.01 sec)



Ну просто огромное спасибо!
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38811711
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но рекомендацию miksoft -а рекомендую выполнить. Ибо есть там, на дне, камешки...
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812395
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, Снимаю шляпу. Где можно научиться так писать query? Понимаю что опыт но блин это же просто произведение.
Вопрос: нигде не нашел описание

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
mysql> insert into test (id, cost, max_cpc, convertion)
    -> select 7,1,1,10 union all
    -> select 6,5,1,11 union all
    -> select 5,6,1,14 union all
    -> select 4,2,2,15 union all
    -> select 3,7,3,15 union all
    -> select 2,8,1,1 union all
    -> select 1,1,1,10;



что это означает union all? Я понимаю что это добавление в таблицу новых записей, и что без union all не работает. Хотелось бы для себя уяснить этот способ добавления на будущее.
Заранее спасибо
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812402
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexnewsчто это означает union all? UNION Syntax alexnewsЯ понимаю что это добавление в таблицу новых записей, и что без union all не работает.Нет, добавление записей в таблицу - это INSERT.
Можно было проще записать:
Код: sql
1.
insert into test (id, cost, max_cpc, convertion) VALUES (7,1,1,10),(6,5,1,11),(5,6,1,14),(4,2,2,15),(3,7,3,15),(2,8,1,1),(1,1,1,10);
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812416
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft, Я это понял чем всегда и пользовался но никогда не видел такого INSERT с union all. Буда знать на будущее, спасибо.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812417
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexnewsне видел такого INSERT с union allЭто не "INSERT с union all", это "INSERT с SELECT". А уж тот, в свою очередь, с union all.
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812499
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexnewsпомимо того еще два поля кем.
Вот это как получить?
...
Рейтинг: 0 / 0
Как найти измененное значение в столбце?
    #38812509
Адеке
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. как заполнять?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как найти измененное значение в столбце?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]