
Yaroslav
01.09.2017
10:12:46
увеличивал такие параметры, как: max_rows, max_heap_table_size, делал строки динамическими, engine делал innodb
ибо может быть несколько максимальных?

Magic
01.09.2017
10:14:06

Google

Magic
01.09.2017
10:14:26
ну соответственно там где value там user_id
Нельзя как то сделать select * from (select...) group by branch_id ?
судя по ошибке sql нельзя(
а было бы удобно

lost
01.09.2017
10:18:00

Magic
01.09.2017
10:21:28
ошибку какую получаешь?
Делаю так:
SELECT * FROM (SELECT users.id, users.value, subscriptions.branch_id FROM users,subscriptions) GROUP BY branch_id

lost
01.09.2017
10:22:15
ой божечки

Fike
01.09.2017
10:22:22
сделай нормальный джойн и проименуй таблицы
или там даже просто префикс таблицы в GROUP BY сработает?

lost
01.09.2017
10:22:50
@etkee приде, парядок наведе
префикс сработает

Google

Yaroslav
01.09.2017
10:23:36

Magic
01.09.2017
10:23:44
я в sql не ахти мастер, пока не приходилось часто с джойном работать. по этому как правильно применить тоже не соображу. просто групбай с префиксом - не сработает, должен?

lost
01.09.2017
10:24:18

Yaroslav
01.09.2017
10:24:36

Fike
01.09.2017
10:24:50

Yaroslav
01.09.2017
10:25:03
странности начались при увеличении количества записей в таблице, которая использутеся для инсерта
я не могу понять, какое ограничение нужно убрать/изменить

lost
01.09.2017
10:25:43
ты его уже изменял

Yaroslav
01.09.2017
10:26:01
и вернул обратно

Magic
01.09.2017
10:26:03

Yaroslav
01.09.2017
10:26:40
я правильно понимаю, что уткнулся где-то в ограничение?

lost
01.09.2017
10:26:52
изменял параметры как?

Fike
01.09.2017
10:26:53

Yaroslav
01.09.2017
10:27:18

Magic
01.09.2017
10:27:34
user_id может повторяться?
Врятли. По идее у каждого user_id своя branch_id
и вот надо выбрать из users всех юзеров с максимальным value но с группировкой по каждой branch_id

Yaroslav
01.09.2017
10:27:36
в создание таблицы дописывал насчет строк
и менял engine в запросе на create

Magic
01.09.2017
10:27:54

Google

Magic
01.09.2017
10:28:13
пока не повторяется но в будущем возможно что у одного юзер ид может быть два branch
Но давайте пока рассмотрим с неповторяющимся

Fike
01.09.2017
10:28:37
что такое макисмальный value? максимальный внутри таблицы? максимальный у одного пользователя?

lost
01.09.2017
10:29:13

Magic
01.09.2017
10:29:17

Yaroslav
01.09.2017
10:29:27

Fike
01.09.2017
10:29:31
требуется выбрать для каждого бранча пользователя, который имеет самый больший value для этого бранча?

Yaroslav
01.09.2017
10:29:41
я оставлял запрос на set перед созданием. т.е. он заного выполнялся

Magic
01.09.2017
10:29:49

Yaroslav
01.09.2017
10:29:55
вопрос, в том, те ли я параметры правил

lost
01.09.2017
10:31:44
параметры те
пришли код создания таблицы

Fike
01.09.2017
10:32:21
сразу предупрежу, что с прямыми sql-запросами давно баловался
SELECT MAX(u.value) AS value, u.user_id, s.branch_id
FROM subscriptions AS s
LEFT JOIN users AS u ON s.user_id = u.user_id
GROUP BY s.branch_id
работает?

Yaroslav
01.09.2017
10:32:41

lost
01.09.2017
10:32:47
присылай

Magic
01.09.2017
10:34:42

Fike
01.09.2017
10:35:51
для начала убедимся, что я не налажал
для branch_id = 3 существуют связанные пользователи?

Magic
01.09.2017
10:36:40
да, для обеих 3 и 6 есть пользователи
много

Google

Magic
01.09.2017
10:37:22
тю, сейчас

Fike
01.09.2017
10:37:28
SELECT *
FROM subscriptions AS s
LEFT JOIN users AS u ON s.user_id = u.user_id
LIMIT 5
выведет ожидаемые вещи?

Magic
01.09.2017
10:37:34
видимо я налажал чуть, переправив на свой вариант, секунду)
Вот только не понятно еще одно
как так получается, что запрос
SELECT MAX(users.value), users.value .....
выводит что MAX - 159 хотя value - 153

Danil
01.09.2017
10:56:43
эм... на скриншете же прям прямо написанно- Value- 159

Fike
01.09.2017
10:56:54
в этом и вопрос, насколько понимаю

Magic
01.09.2017
10:57:13
в этом и фишка
поле int 255

Danil
01.09.2017
10:57:28
а... сорян.... извиняюсь.

Magic
01.09.2017
11:00:01
Больше странностей богу странностей!
SELECT MAX(value), value,id FROM users:
как так то?
что за бредни мускуль дает

Fike
01.09.2017
11:01:49
Хотя все верно, SELECT * FROM users WHERE value = 159
Их может быть несколько

Google

Magic
01.09.2017
11:02:44
если так, то меня устраивает, в принципе

Fike
01.09.2017
11:03:26
У тебя может быть несколько пользователей с одинаковым MAX(value). Тут уже к тебе вопрос, как ты хочешь эту ситуацию разрешать.

Magic
01.09.2017
11:03:46
типо айдишник перезаписывается, понял
Да, в моей ситуации важно понять просто максимальный value для branch
т.е айдишник мне в общем то не нужен
просто для понимания. если больше одного ну и пусть
можно конечно извратиться посчитать количество с максимальным value если больше 1, но задача так не стоит
Еще раз спасибо @etkee
Может у тебя есть яндекс?
миллионы не обеспечу но чашечку кофе потраченного на меня покрою)

Fike
01.09.2017
11:11:04
Нет, я делаю все это строго бесплатно

Magic
01.09.2017
11:11:58
да я тоже бесплатно помогаю всегда в чатиках по программированию, но с этой байдой я намучался что и не впадлу отблагодарить)