Size: a a a

2020 April 16

F=

FAST =) in ru_mysql
Всем привет!

Задача такая: посчитать кол-во не всего рефералов, а кол-во рефералов у юзера на каждом уровне, до 3 уровня.


Сделал вот такой запрос


with recursive cte (id, id_referer, lvl) as (
 select     id,
            id_referer,
        1 lvl
 from       tb_users
 where      id_referer = 1
 union DISTINCT
 select     p.id,
            p.id_referer,
        lvl + 1
 from       tb_users p
 inner join cte
         on p.id_referer = cte.id
 where lvl < 3
)
select * from cte


Сейчас я получаю такой вывод

id   id_referer    lvl
2    1                   1
3    1                   1
.......

Мне надо получить вот такой ответ

id  amount_ref_lvl_1   amount_ref_lvl_2    amount_ref_lvl_3  
1   333                           400                           5999

То есть просто вывести кол-во рефералов у пользователя на каждом уровне.
источник
2020 April 17

z

zEvilz in ru_mysql
всем привет. столкнулся тут с такой штукой. у меня скрипт бэкапит базы через mysqldump. временные бэкапы делаю через mysql. на одном серваке лежат dev и prod сайты. нужно было развернуть бэкап базы прода на dev версию. оказалось, что при разворачивании бэкапа mysqldump через mysql игнорится указание базы при импорте. в итоге бэкап развернулся на проде, а не не на тестовом 😁 в чем еще отличия файлов импорта mysqldump и mysql? сейчас думаю вообще заменить в скрипте бэкапа mysqldump на mysql
источник

NI

Nickolay Ihalainen in ru_mysql
mysqldump это утилита котороя генерирует текст csv файлы или sql файлы.
источник

NI

Nickolay Ihalainen in ru_mysql
mysql это утилита, которая позволяет исполнять sql текст на сервере mysql
источник

NI

Nickolay Ihalainen in ru_mysql
утилиту mysql можно запустить как mysql databasename
источник

NI

Nickolay Ihalainen in ru_mysql
это поменяет текущую базу данных на database name
источник

NI

Nickolay Ihalainen in ru_mysql
если в sql скрипте нет USE databasename1; то все данные будут записаны в текущую базу данных
источник

z

zEvilz in ru_mysql
т.е. отличие только в том, что в файле импорта mysqldump есть USE databasename и все?
источник

NI

Nickolay Ihalainen in ru_mysql
нет
источник

ПД

Павлов Дмитрий in ru_mysql
Grigori Kochanov
здесь select - вложенный запрос, результат уходит в параметры insert, но там не хватает запятой перед SELECT
Благодарю!!!!
сам бы точно не додумался..
источник

NI

Nickolay Ihalainen in ru_mysql
mysqldump генерирует sql текст. Если дампить mysql databasename >  databasename.sql то будет сохранено без USE.
если дампить несколько баз данных mysqldump --all-databases > backup.sql или mysqldump --databases db1 db2 db3 > partial-backup.sql
источник

NI

Nickolay Ihalainen in ru_mysql
без USE --all-databases и --databases .... не смогут загрузить данные в нужные базы.
источник

z

zEvilz in ru_mysql
Nickolay Ihalainen
mysqldump генерирует sql текст. Если дампить mysql databasename >  databasename.sql то будет сохранено без USE.
если дампить несколько баз данных mysqldump --all-databases > backup.sql или mysqldump --databases db1 db2 db3 > partial-backup.sql
короче, для бэкапа одиночных баз можно в скрипте сделать бэкап через mysql
источник

TF

Terry Filch in ru_mysql
zEvilz
короче, для бэкапа одиночных баз можно в скрипте сделать бэкап через mysql
два чая этому господину
источник

NI

Nickolay Ihalainen in ru_mysql
что значит бекап через mysql? звучит как полная ахинея. выдавайте команду что там запускаете (без паролей и реальных баз)
источник

z

zEvilz in ru_mysql
Nickolay Ihalainen
что значит бекап через mysql? звучит как полная ахинея. выдавайте команду что там запускаете (без паролей и реальных баз)
mysql -u user -p dbname > dbname.sql
источник

NI

Nickolay Ihalainen in ru_mysql
будет пустой файл
источник

NI

Nickolay Ihalainen in ru_mysql
т.е. это не команда бекапа
источник

D

Denis 災 nobody in ru_mysql
Напомните, как переписать запрос, чтобы убрать
ORDER BY RAND() LIMIT 4
на 200к строк оно дико тормозит и грузит диск
источник

NI

Nickolay Ihalainen in ru_mysql
если написать mysql -u user -p dbname < dbname.sql то это будет команда востановления бекапа который сделала команда mysqldump -u user -psecret dbname > dbname.sql
источник