У меня есть 2 таблицы:
table1
code_id, x, y, theta
table2
date, name, order, code_id, x, y, theta
Я хочу посчитать кол-во code_id, которые содержат данные, но бывает, что code_id = -1, и такие тоже надо учитывать, как это записать в 1 запрос? и можно ли
SELECT count(code_id) as with_code_id, order FROM table2 GROUP BY order;
SELECT count(code_id) as without_code_id, order FROM table2 WHERE code_id2 = -1 GROUP BY order;
После мне нужна разница между координтами из 2 таблиц по X, Y
CREATE TABLE diff SELECT name, order, x — x as X, y — y as Y FROM table2, table1 WHERE code_id = code_id;
После мне надо посчитать кол-во точек в опредленном диапазоне по order’ам, и тут у меня возникла проблема
SELECT name, order, COUNT(*) FROM diff WHERE X AND Y BETWEEN -0.1 AND 0.1 GROUP BY name AND order;
Ошибка:
SELECT list is not in GROUP BY clause and contains nonaggregated column ‘bd.diff.name’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Что не так я делаю, если убрать name или order из запроса, всё нормально работает, но мне надо 2, чтобы групироваалось по order, и так же для каждого выводилось name
Так же мне надо посчитать кол-во точек которые идут в 5 разных диапаазонах, и я вообще не представляю как это сделать, подскажите плиз.
У меня есть 2 таблицы:
table1
code_id, x, y, theta
table2
date, name, order, code_id, x, y, theta
Я хочу посчитать кол-во code_id, которые содержат данные, но бывает, что code_id = -1, и такие тоже надо учитывать, как это записать в 1 запрос? и можно ли
SELECT count(code_id) as with_code_id, order FROM table2 GROUP BY order;
SELECT count(code_id) as without_code_id, order FROM table2 WHERE code_id2 = -1 GROUP BY order;
После мне нужна разница между координтами из 2 таблиц по X, Y
CREATE TABLE diff SELECT name, order, x — x as X, y — y as Y FROM table2, table1 WHERE code_id = code_id;
После мне надо посчитать кол-во точек в опредленном диапазоне по order’ам, и тут у меня возникла проблема
SELECT name, order, COUNT(*) FROM diff WHERE X AND Y BETWEEN -0.1 AND 0.1 GROUP BY name AND order;
Ошибка:
SELECT list is not in GROUP BY clause and contains nonaggregated column ‘bd.diff.name’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Что не так я делаю, если убрать name или order из запроса, всё нормально работает, но мне надо 2, чтобы групироваалось по order, и так же для каждого выводилось name
Так же мне надо посчитать кол-во точек которые идут в 5 разных диапаазонах, и я вообще не представляю как это сделать, подскажите плиз.
https://russianblogs.com/article/76441177163/
MySQL отключить ONLY_FULL_GROUP_BY, временно устранить ошибку (sql_mode = only_full_group_by), Русские Блоги, лучший сайт для обмена техническими статьями программиста.
Плохая идея
Согласимся
Не могу я не обращать внимание