|
adw0rd ↓
|
 |
|
28 Июль, 2009, 02:21:24
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
Не возможно обновить данные в таблице, в которой производишь выборку
mysql> UPDATE `categories` SET `size` = (SELECT (`count` / ((max(`count`) - min(`count`)) / 10)) FROM `categories`);
ERROR 1093 (HY000): You can't specify target table 'categories' for update in FROM clause
не в курсе как обойти?)
------
Второй вариант, без селекта:
mysql> UPDATE `categories` SET `size` = (`count` / ((max(`count`) - min(`count`)) / 10));
ERROR 1111 (HY000): Invalid USE of GROUP FUNCTION
тоже не прокатывает, есть соображения как это тоже обойти?
------
По отдельности все работает:
mysql> SELECT (`count` / ((max(`count`) - min(`count`)) / 10)) FROM `categories`;
+--------------------------------------------------------+
| (`count` / ((max(`count`) - min(`count`)) / 10)) |
+--------------------------------------------------------+
| 3.47826087 |
+--------------------------------------------------------+
1 row IN SET (0.00 sec)
mysql> UPDATE `categories` SET `size` = 3.47826087;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 21 Changed: 0 Warnings: 0
|
|
|
|
« Последнее редактирование: 28 Июль, 2009, 02:21:24 от adw0rd »
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 02:20:47 , спустя
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
Так тоже не работает...
UPDATE `categories` AS `c1`
JOIN `categories` AS `c2`
USING(`category_id`)
SET `c1`.`size` = (`c2`.`count` / ((max(`c2`.`count`) - min(`c2`.`count`)) / 10));
ERROR 1111 (HY000): Invalid USE of GROUP FUNCTION
|
|
|
|
« Последнее редактирование: 28 Июль, 2009, 02:20:47 от adw0rd »
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 02:38:09 , спустя 17 минут 22 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
Решение:
-- создаем коэффициент деления
SET @percent = (SELECT (max(`count`) - min(`count`)) / 10 FROM `categories`);
-- создаем вьюху
CREATE VIEW `categories_view` AS SELECT `category_id`, `count` FROM `categories`;
-- жойним таблицу и вьюху, обновляя данные
UPDATE `categories` AS `c`
JOIN `categories_view` AS `cv`
USING(`category_id`)
SET `c`.`size` = `cv`.`count` / @percent;
|
|
|
|
|
Записан
|
|
|
|
|
rider-sx ↓
|
 |
|
28 Июль, 2009, 02:45:55 , спустя 7 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
drmmmmmm
Группа: Адекваты Карма: 32
Сообщений: 2718 Сила слова: 1.18
|
adw0rd, ты охуенно поговорил так сам с собой ^_^
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 02:47:44 , спустя 1 минуту 49 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
adw0rd, ты охуенно поговорил так сам с собой ^_^
на самом деле мы говорили с dics'ом в скайпе, а код я выкладывал сюда, чтобы другим помогло на будущее ;)
|
|
|
|
|
Записан
|
|
|
|
|
rider-sx ↓
|
 |
|
28 Июль, 2009, 02:55:42 , спустя 7 минут 58 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
drmmmmmm
Группа: Адекваты Карма: 32
Сообщений: 2718 Сила слова: 1.18
|
adw0rd, ты охуенно поговорил так сам с собой ^_^
на самом деле мы говорили с dics'ом в скайпе, а код я выкладывал сюда, чтобы другим помогло на будущее ;)
:DDD Верю ) Спустя 17 секунд добавил ПыСы 1212
|
|
|
|
|
Записан
|
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 04:01:13 , спустя 1 час 5 минут 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
28 Июль, 2009, 07:07:58 , спустя 3 часа 6 минут 45 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 339
Сообщений: 19661 Сила слова: 1.72
|
mysql> UPDATE `categories` SET `size` = (`count` / ((max(`count`) - min(`count`)) / 10));
ERROR 1111 (HY000): Invalid USE of GROUP FUNCTION
не проще ли тут group дописать?)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 12:43:32 , спустя 5 часов 35 минут 34 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
phpdude, покажи как
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
28 Июль, 2009, 01:29:20 , спустя 45 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 339
Сообщений: 19661 Сила слова: 1.72
|
хз)) я просто ошибку проанализировал)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 01:33:47 , спустя 4 минуты 27 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
phpdude, написано что неправильное так группировать функции... или нечто подобное )
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
28 Июль, 2009, 01:36:51 , спустя 3 минуты 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 339
Сообщений: д-о-х-у-я! Сила слова: 1.72
|
phpdude, написано что неправильное так группировать функции... или нечто подобное )
попробуй дописать нечто вида
group by null в конце)) может сканает) Спустя 5 секунд добавил просто проверить
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 01:43:50 , спустя 6 минут 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
mysql> update `categories` set `size` = (`count` / ((max(`count`) - min(`count`)) / 10)) group by null;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right synta
x to use near 'group by null' at line 1
mysql> update `categories` set `size` = (`count` / ((max(`count`) - min(`count`)) / 10)) group by rand();
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right synta
x to use near 'group by rand()' at line 1
mysql> update `categories` set `size` = (`count` / ((max(`count`) - min(`count`)) / 10)) group by `category_id`;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right synta
x to use near 'group by `category_id`' at line 1
|
|
|
|
|
Записан
|
|
|
|
|
phpdude ↓
|
 |
|
28 Июль, 2009, 01:46:55 , спустя 3 минуты 5 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 339
Сообщений: д-о-х-у-я! Сила слова: 1.72
|
adw0rd, стрянно )))
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
adw0rd ↓
|
 |
|
28 Июль, 2009, 01:55:18 , спустя 8 минут 23 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17195 Сила слова: 1.65
|
не угадал))
|
|
|
|
|
Записан
|
|
|
|
|