
Anton
08.02.2018
22:00:06
но вообще задумайся, точно ли это надо тебе. Возможно, есть смысл сортировать выборки по PRIMARY/дате, а уже на выходе пронумеровывать результат. В большинстве задач этого достаточно. Не зная самой задачи конечно сказать точно нельзя

Алексей
08.02.2018
22:01:58
То есть создать отдельную таблицу, в которой будет вестись нумерация, но через дату или primary?)

Anton
08.02.2018
22:02:06
нет

Алексей
08.02.2018
22:02:30
ааа

Google

Алексей
08.02.2018
22:02:31
все я понял

Anton
08.02.2018
22:02:41
получать результат отсортированный. А в выводе результата уже ккодом сайта/приложения или теми же сессионными переменными делать нумерацию.

Алексей
08.02.2018
22:03:38
хм хм хм))) дело в том, что дата будет одновременная) а primary, наверное, в рандомном порядке, пока нет идей как его обуздать. Но я подумаю

Anton
08.02.2018
22:05:06
Можно его сделать авттоинкрементом(ну, если можно). И проблема исчезнет

Алексей
08.02.2018
22:05:11
Ради интереса протестирую, если он не будет рандомить - идеально, очень хорошая идея

Anton
08.02.2018
22:05:21
а почти всегда праймари можно сделать автоинкрементом))))

Uml
09.02.2018
08:07:20
можете ошибку в условии запроса найти?

Сергей
09.02.2018
08:15:21

lost
09.02.2018
08:15:39
отворт приворот
снимаем дедлоки по выводу innodb

Uml
09.02.2018
08:16:11
SELECT sum(cp.summa) sum, count(cp.summa) count FROM contract_payment AS cp
INNER JOIN contract_payment_types AS cpt ON cp.pt=cpt.id
WHERE cp.cid IN (SELECT t.contractid cid FROM (SELECT is6.addressFrom, is6.contractid FROM inet_serv_6 is6) t
WHERE (addressFrom BETWEEN UNHEX(CONV(INET_ATON('10.50.155.0'), 10, 16)) AND UNHEX(CONV(INET_ATON('10.50.155.254'), 10, 16)))
OR (t.addressFrom BETWEEN UNHEX(CONV(INET_ATON('10.50.160.0'), 10, 16)) AND UNHEX(CONV(INET_ATON('10.50.160.254'), 10, 16))))
AND cp.dt BETWEEN '2018-01-01' AND '2018-01-31'
AND cp.pt IN (11, 12, 13, 14, 15, 16, 18, 21, 22, 24, 25 )
в целом оно отрабатывает.но сумма неправильная выводится.но когда оставляю одну подсеть в этом запросе , то для нее правильно выводится
соответственно где-то условие я неправильно прописываю для нескольких подсетей

Google

Uml
09.02.2018
08:17:35
может там не OR надо
а что-то другое

Сергей
09.02.2018
08:18:17
выводи не суммы, а просто строки и смотри глазами. поймешь какие записи лишние/недостающие и под них запрос правь. потом вернешь сумму
а по твоей бизнес логике никто не поможет

Uml
09.02.2018
08:19:49

Сергей
09.02.2018
08:20:23
SELECT sum(cp.summa) sum, count(cp.summa) coun
ну вот ты тут уже суммы считаешь. сделай select *
и смотри че вернулось
и эту сумму руками же посчитать можешь по строкам
вот и проверяй че не сходится

Uml
09.02.2018
08:27:57
и эту сумму руками же посчитать можешь по строкам
другая сумма выходит.выходит такая же если я в этом запросе оставил ,s одну подсеть -получил cумму.потом другой запрос со второй подсетью -и прибавил полученную сумму с суммой полученной в первом запросе

Сергей
09.02.2018
08:28:55
ну ты полный запрос сделай

Uml
09.02.2018
08:29:33
ну ты полный запрос сделай
так я делаю полный запрос с двумя подсетями выходит одна сумма.делаю как ты сказал select * выходит другая сумма

Сергей
09.02.2018
08:29:57
ну вот ты где select * делаешь - смотри какие записи лишние или недостающие
какие условия не сработали в твоем запросе
понимаешь че делать надо?

Uml
09.02.2018
08:32:52

Сергей
09.02.2018
08:33:44
ты с sql работал до этого?)

Google

Uml
09.02.2018
08:33:57

Сергей
09.02.2018
08:34:10
ну я не понимаю че ты отладить не можешь
у тебя есть все строки
для каждой строки проверь что она условию запроса удовлетворяет
глазами!
и думай почему строка туда попала/не попала

Uml
09.02.2018
08:40:49

Андрей
09.02.2018
11:07:03
Ребята , в скрипте не отображается инвест после попоснение, где мне искать проблему , напудствие дайте хоть

Egor
09.02.2018
11:12:22
Для начала, расскажи подробнее о проблеме

Андрей
09.02.2018
11:16:44
Поставил скрипт сайта , тестировал пополнение , деньги на счёт приходят но в акаунте не отображаются

Egor
09.02.2018
11:18:25
Ну так это не проблема с MySQL. Скрипт на PHP?

Андрей
09.02.2018
11:18:59
Да на РНР

Egor
09.02.2018
11:19:51
Тогда тебе в группу по PHP.

Андрей
09.02.2018
11:20:03
Спасибо
Можно ссылку?

Egor
09.02.2018
11:21:36
@phpgeeks

Андрей
09.02.2018
11:24:20
Спасибо

Magic
09.02.2018
11:25:38
Кто может доступно объяснить в чем разница между tinyint(1) и например tinyint(4) ?

lost
09.02.2018
11:43:54
с точки зрения хранения данных - никакой разницы

Google

The
09.02.2018
17:20:03
Using temporary; using filesort при группировке, это же норма и никак не обойти?

lost
09.02.2018
17:28:22
как говорится, хуже уже не будет
обойти можно, зависит от индексов и запроса
у петьки зайцева есть познавательный видос по индексам в mysql, там в принципе можно подчерпнуть необходимый минимум

The
09.02.2018
18:34:58
запрос выбираем банки и количество отделений для конкретного штата США
EXPLAIN SELECT b.id, b.name, b.slug, COUNT(br.id) AS ttl FROM bank b
INNER JOIN branch br ON br.bank_id = b.id
INNER JOIN city c ON br.city_id = c.id
INNER JOIN state s ON c.state_id = s.id
WHERE s.slug = 'az'
GROUP BY b.id
ORDER BY ttl DESC
LIMIT 20

Mark
09.02.2018
18:36:41

The
09.02.2018
18:38:02
Петя зайцев highload наверное?)

Mark
09.02.2018
18:38:39
А, наверное, смотрел тут презентаху на сайте

Magic
10.02.2018
00:16:07

Alexey
10.02.2018
02:27:06
у Пети Зайцева есть ещё пост и про то, что Using temporary; using filesort при группировке — это не всегда плохо!
https://www.percona.com/blog/2018/01/30/is-indexing-always-the-key-to-mysql-query-performance/

Anton
10.02.2018
07:45:15
ну, у меня конечно ужесный английский, но это ли он говорит? Using temporary; using filesort у него во всех примерах

The
10.02.2018
14:53:55
друзья, если у кого то есть желание, подскажите по этому вопросу: https://toster.ru/q/504537

Anton
10.02.2018
15:09:42
А есть ли смысл в пагинации в таких задачах?
Может выводить список городов а по городу уже аяксом подгружать отделения?
а то тут пагинация достаточно бесполезна получается

The
10.02.2018
15:34:56
ну тут больше интересно, можно ли этот запрос ускорить, и почему он такой медленный.
реализацию можно переделать, в принципе, но не хотелось бы :(

Anton
10.02.2018
15:36:19
ну, проблематично при сортировке по варчарам не из этой таблицы

Google

The
10.02.2018
15:54:51
там же индексы есть, при группировке двух таблиц, а потом сортировке по разным полям из этих двух таблиц, индексы что-ли не работают?

Anton
10.02.2018
15:55:31
сортировка по названию.

The
10.02.2018
15:55:33
написано что using index, using temporary, using filesort

Anton
10.02.2018
15:55:45
ну, для выборки использует
но временя основное у тебя тут на сортировку, а не на индекс
* а не на выборку

The
10.02.2018
15:56:29
а почему сортировка не производится с использованием индекса? или она использует индекс?

Adamay
10.02.2018
17:24:29
Ребят, хотите услышать офигенно тупой вопрос?
Где в MySQL Workbench вкладка Insert? У меня ее нет...

Сергей
10.02.2018
17:48:48

Anton
10.02.2018
17:49:21

Сергей
10.02.2018
17:49:31
Да

Adamay
10.02.2018
17:49:33

Сергей
10.02.2018
17:52:19

Adamay
10.02.2018
17:55:26
Или HeidiSQL
А есть, что-то полностью свободное для Linux? Как я понял у SqlYog только проба под Windows. Не хочу, через wine