powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / MySQL [закрыт для гостей] / Спроси у 02
25 сообщений из 117, страница 2 из 5
Спроси у 02
    #257524
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 13:30
[игнорируется]
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
3. все же row_number быстрее отработает нежели дважды использовать таблицу в запросе. может просто разобраться как работает row_number? и не пугаться синтаксиса?
Можно ахуенный вариант без row_number? Представь, что его не существует и небыло никогда)
ну роунамбер нумерация без пропусков...

если нужно у таблицы например числовой или даты или строка пронумеровать

str num
---- -----
str1 5
str5 15
str9 1
str2 7

то можно конечно всю ебань во временную таблицу с идентити пихнуть
Код: SQL
1.
2.
3.
4.
5.
6.
select *, identity_insert(int,1,1) as num
into #tmp
from (values('str1',5),('str5',15),('str9',1),('str2',7)) t(str)
order by str // если нужна нумерация по num то писать order by num

select * from #tmp
ну это на синтаксисе t-sql на mysql не знаю как создавать временные таблицы... как раз для этого ранжирующий роунамбер и ввели ну и вроде красивее и логичнее без всяких изъебов
Код: SQL
1.
2.
select *, row_number() over (order by str) as num // или order by num если нумерацию нужно сделать по другому полю
from (values('str1',5),('str5',15),('str9',1),('str2',7)) t(str)
...
Рейтинг: 0 / 0
Спроси у 02
    #257526
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  29.12.2022, 13:43
[игнорируется]
Redd  29.12.2022, 13:30
[игнорируется]
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
3. все же row_number быстрее отработает нежели дважды использовать таблицу в запросе. может просто разобраться как работает row_number? и не пугаться синтаксиса?
Можно ахуенный вариант без row_number? Представь, что его не существует и небыло никогда)
ну роунамбер нумерация без пропусков...

если нужно у таблицы например числовой или даты или строка пронумеровать

str num
---- -----
str1 5
str5 15
str9 1
str2 7

то можно конечно всю ебань во временную таблицу с идентити пихнуть
Код: SQL
1.
2.
3.
4.
5.
6.
select *, identity_insert(int,1,1) as num
into #tmp
from (values('str1',5),('str5',15),('str9',1),('str2',7)) t(str)
order by str // если нужна нумерация по num то писать order by num

select * from #tmp
ну это на синтаксисе t-sql на mysql не знаю как создавать временные таблицы... как раз для этого ранжирующий роунамбер и ввели ну и вроде красивее и логичнее без всяких изъебов
Код: SQL
1.
2.
select *, row_number() over (order by str) as num // или order by num если нумерацию нужно сделать по другому полю
from (values('str1',5),('str5',15),('str9',1),('str2',7)) t(str)
Нет, мне фантазии не надо. В этом кале я ковыряюсь, потому что какой-то слишком ебанутый стал юзать какие-то последние версии БД)
Не ибу что он вообще там селектит и зачем!) Похую, но не работает это говняшка..
...
Рейтинг: 0 / 0
Спроси у 02
    #257528
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 09:29
[игнорируется]
Привет, спроси пож. у писателя, как бы это написать без OVER
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT NR FROM
                             (SELECT ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR, V1_POST.ID
                             FROM V1_POST
                             INNER JOIN V1_TOPIC ON (V1_POST.TOPIC_ID = V1_TOPIC.ID)
                             INNER JOIN V1_FORUM ON (V1_TOPIC.FORUM_ID = V1_FORUM.ID)
                             WHERE (TOPIC_ID = 547 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID = 4024
?
Ты ж фуллстек, тебе это как два пальца обоссать, скрипты какие то нелепые тупые
...
Рейтинг: 0 / 0
Спроси у 02
    #257531
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 10:34
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
Redd  29.12.2022, 09:29
[игнорируется]
Привет, спроси пож. у писателя, как бы это написать без OVER
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT NR FROM
                             (SELECT ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR, V1_POST.ID
                             FROM V1_POST
                             INNER JOIN V1_TOPIC ON (V1_POST.TOPIC_ID = V1_TOPIC.ID)
                             INNER JOIN V1_FORUM ON (V1_TOPIC.FORUM_ID = V1_FORUM.ID)
                             WHERE (TOPIC_ID = 547 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID = 4024
?
Так медленно корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0,
если такое возможно конечно и эти поля подразумевают 0/1 без отрицательных чисел.

А по субжу см скриншон. Но row_number() быстрее отработает чем классический вариант - особенно больно будет когда данных дохера в таблицах
rownumber.JPG
Хорошо,
Эту херню ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR можно заменить на это (SELECT COUNT(V1_POST.ID) FROM V1_POST) NR
?
Ооооох ну ты точно фуллстэк. Почему тебе досих пор 500 не платят не понимаю. Не ценят суки. А иы вон как все быстро на лету ловишь
...
Рейтинг: 0 / 0
Спроси у 02
    #257532
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 10:51
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:41
[игнорируется]
Redd  29.12.2022, 10:34
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
Redd  29.12.2022, 09:29
[игнорируется]
...
Так медленно корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0,
если такое возможно конечно и эти поля подразумевают 0/1 без отрицательных чисел.

А по субжу см скриншон. Но row_number() быстрее отработает чем классический вариант - особенно больно будет когда данных дохера в таблицах
rownumber.JPG
Хорошо,
Эту херню ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR можно заменить на это (SELECT COUNT(V1_POST.ID) FROM V1_POST) NR
?
Ну да )))) условия корректно перенеси
Мопед не мой, что он вообще там выдумывает этой куйней ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR, V1_POST.ID, общее кол-во записей и айди поста?

Куйня какая-то на выходе..
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
 NR   ID
4149   4024
4149   4025
4149   4043
4149   4044
4149   4045
4149   4046
4149   4047
...
Это недостойная задачка для такого сверхспеца как ты. Ты ж гений который легко в этом говне сам разберется. Чо тут то писать
...
Рейтинг: 0 / 0
Спроси у 02
    #257534
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 10:51
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:41
[игнорируется]
Redd  29.12.2022, 10:34
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
Redd  29.12.2022, 09:29
[игнорируется]
...
Так медленно корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0,
если такое возможно конечно и эти поля подразумевают 0/1 без отрицательных чисел.

А по субжу см скриншон. Но row_number() быстрее отработает чем классический вариант - особенно больно будет когда данных дохера в таблицах
rownumber.JPG
Хорошо,
Эту херню ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR можно заменить на это (SELECT COUNT(V1_POST.ID) FROM V1_POST) NR
?
Ну да )))) условия корректно перенеси
Мопед не мой, что он вообще там выдумывает этой куйней ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR, V1_POST.ID, общее кол-во записей и айди поста?

Куйня какая-то на выходе..
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
 NR   ID
4149   4024
4149   4025
4149   4043
4149   4044
4149   4045
4149   4046
4149   4047
...
Не хуйная а результат работы запроса великого фуллстека который не понимант за что платят 300 тем кто понимает как это работает
...
Рейтинг: 0 / 0
Спроси у 02
    #257535
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хунвыебин [игнорируется] 

О! Пиздаболио подвалило. Ахуительный шпиц! [:biggrin2]
...
Рейтинг: 0 / 0
Спроси у 02
    #257536
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose  29.12.2022, 11:00
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0
математика работает БЫСТРЕЕ

деда проверял
Математика умрет на индексах
...
Рейтинг: 0 / 0
Спроси у 02
    #257539
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 13:58
[игнорируется]
Хунвыебин [игнорируется] 

О! Пиздаболио подвалило. Ахуительный шпиц! [:biggrin2]
Ога смотрю как ты с запросом ебешься. Угораю :-)
...
Рейтинг: 0 / 0
Спроси у 02
    #257540
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
2. ну если можно не задействовать другие таблицы... хотя я вижу в оригинале пропуск удаленных постов, форумов.... похоже при удаленных постах форумах топиках - твое количество будет показывать хуйню.
Вроде нормально все и если удалить..
...
Рейтинг: 0 / 0
Спроси у 02
    #257541
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
планы запросов сравнивали?
...
Рейтинг: 0 / 0
Спроси у 02
    #257550
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Хунвыебин  29.12.2022, 13:58
[игнорируется]
eNose  29.12.2022, 11:00
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0
математика работает БЫСТРЕЕ

деда проверял
Математика умрет на индексах
нет

оптимизатор игнорирует такие индексы (если ему принудительно не указать)

в итоге он оставляет математику "на потом" и это работает быстрее
...
Рейтинг: 0 / 0
Спроси у 02
    #257556
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
eNose  29.12.2022, 14:16
[игнорируется]
Хунвыебин  29.12.2022, 13:58
[игнорируется]
eNose  29.12.2022, 11:00
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:11
[игнорируется]
корректнее писать V1_TOPIC.DELETED=0 AND V1_FORUM.DELETED=0 AND V1_POST.DELETED=0
а не - AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0
математика работает БЫСТРЕЕ

деда проверял
Математика умрет на индексах
нет

оптимизатор игнорирует такие индексы
А пессимизатор как к ним относидзе?
...
Рейтинг: 0 / 0
Спроси у 02
    #257577
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  29.12.2022, 14:03
[игнорируется]
планы запросов сравнивали?
Модный
Цитата 
[игнорируется]
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 621 Using where
2 DERIVED V1_TOPIC const PRIMARY,V1_TOPIC_FORUM_ID_IDX PRIMARY 4 const 1 Using temporary
2 DERIVED V1_FORUM const PRIMARY PRIMARY 4 const 1
2 DERIVED V1_POST ref V1_POST_TOPIC_ID_IDX,V1_POST_IS_PINNED_IDX V1_POST_TOPIC_ID_IDX 4 const 621 Using where
Олдскул
Цитата 
[игнорируется]
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY V1_POST const PRIMARY,V1_POST_TOPIC_ID_IDX,V1_POST_IS_PINNED_IDX PRIMARY 4 const 1
1 PRIMARY V1_TOPIC const PRIMARY,V1_TOPIC_FORUM_ID_IDX PRIMARY 4 const 1
1 PRIMARY V1_FORUM const PRIMARY PRIMARY 4 const 1
3 SUBQUERY V1_POST range PRIMARY,V1_POST_TOPIC_ID_IDX V1_POST_TOPIC_ID_IDX 8 NULL 22 Using where; Using index
...
Рейтинг: 0 / 0
Спроси у 02
    #257579
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
...
Рейтинг: 0 / 0
Спроси у 02
    #257580
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
...
Рейтинг: 0 / 0
Спроси у 02
    #257582
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А зачем ему, он же фуллстек, с любым говном за полчаса рпзбереццо.
Ему это раз плюнуть
...
Рейтинг: 0 / 0
Спроси у 02
    #257585
Хунвыебин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 15:01
[игнорируется]
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
Ну и гадость же эта ваша заливная рыба
...
Рейтинг: 0 / 0
Спроси у 02
    #257587
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 15:01
[игнорируется]
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
матрица блиа! А дед программизд матрицы допиливающий по заказу рейха
...
Рейтинг: 0 / 0
Спроси у 02
    #257588
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 15:01
[игнорируется]
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
Ты идиот?
Мне твои домыслы неинтресены, что там у тебя есть, а чего нет.
Даже если у тебя отвалился row_number(), это не означает, что смысл его существования отвалился тоже.
Row_number() нумерует строки по порядку, а count() возвращает их количество.
Попробуй выполнить
Код: SQL
1.
2.
3.
4.
5.
6.
select count(1) as cnt, id
from v1_post
group by id;

select row_number() over (order by date_creation) as rn, id
from v1_post;
И посмотри на содержание столбцов, долбоёб.
Я уж не говорю о том, что твои ограничения по id поста сводят на нет необходимость использования как одного, так и второго.
...
Изменено: 29.12.2022, 15:10 - Горбатый ёж
Рейтинг: 0 / 0
Спроси у 02
    #257590
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  29.12.2022, 15:08
[игнорируется]
Redd  29.12.2022, 15:01
[игнорируется]
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
Ты идиот?
Мне твои домыслы неинтресены, что там у тебя есть, а чего нет.
Даже если у тебя отвалился row_number(), это не означает, что смысл его существования отвалился тоже.
Row_number() нумерует строки по порядку, а count() возвращает их количество.
Попробуй выполнить
Код: SQL
1.
2.
3.
4.
5.
select count(1) as cnt, id
from v1_post;

select row_number() over (order by date_creation) as rn, id
from v1_post;
И посмотри на содержание столбцов, долбоёб.
Я уж не говорю о том, что твои ограничения по id поста сводят на нет необходимость использования как одного, так и второго.
Расслабься и выдыхай ))))
Саня уже давно познал дзен запросов )
...
Рейтинг: 0 / 0
Спроси у 02
    #257591
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  29.12.2022, 15:08
[игнорируется]
Redd  29.12.2022, 15:01
[игнорируется]
Горбатый ёж  29.12.2022, 14:59
[игнорируется]
Redd [игнорируется] 

А ты отличие row_number() от count() так и не понял?
А ты прочитал и решил рассказать про это? Нет никого роу_намберс. И нет отличия. Нету этого функционала.
Ты идиот?
Мне твои домыслы неинтресены, что там у тебя есть, а чего нет.
Даже если у тебя отвалился row_number(), это не означает, что смысл его существования отвалился тоже.
Row_number() нумерует строки по порядку, а count() возвращает их количество.
Попробуй выполнить
Код: SQL
1.
2.
3.
4.
5.
select count(1) as cnt, id
from v1_post;

select row_number() over (order by date_creation) as rn, id
from v1_post;
И посмотри на содержание столбцов, долбоёб.
Я уж не говорю о том, что твои ограничения по id поста сводят на нет необходимость использования как одного, так и второго.
Идиот это ты. Функционал over работает с определенной версии mysql.
...
Рейтинг: 0 / 0
Спроси у 02
    #257596
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 15:10
[игнорируется]
Идиот это ты. Функционал over работает с определенной версии mysql.
Ну и пиши эквивалент row_number(), долбоёбина.
...
Рейтинг: 0 / 0
Спроси у 02
    #257598
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  29.12.2022, 15:11
[игнорируется]
Redd  29.12.2022, 15:10
[игнорируется]
Идиот это ты. Функционал over работает с определенной версии mysql.
Ну и пиши эквивалент row_number(), долбоёбина.
Ну и написал уже.
Ты еще и слепой это пиздец какой-то!
...
Рейтинг: 0 / 0
Спроси у 02
    #257603
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 15:12
[игнорируется]
Горбатый ёж  29.12.2022, 15:11
[игнорируется]
Redd  29.12.2022, 15:10
[игнорируется]
Идиот это ты. Функционал over работает с определенной версии mysql.
Ну и пиши эквивалент row_number(), долбоёбина.
Ну и написал уже.
Ты еще и слепой это пиздец какой-то!
Чего ты там написал, утырок?
Это что ли?
Redd  29.12.2022, 11:01
[игнорируется]
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT (
                                 SELECT COUNT(*)  FROM V1_POST   ORDER BY V1_POST.CREATION_DATE
                             )  NR, V1_POST.ID
                             FROM V1_POST
                             INNER JOIN V1_TOPIC ON (V1_POST.TOPIC_ID = V1_TOPIC.ID)
                             INNER JOIN V1_FORUM ON (V1_TOPIC.FORUM_ID = V1_FORUM.ID)
                             WHERE (TOPIC_ID = 547 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
Тебе сказали, что count() не является заменой row_number(). Как заменить тебе попых написал, но ты же не читатель.
Вот тебе пример с sql-tutorial
Код: SQL
1.
2.
3.
SELECT T.*, @I:=@I+1 RowNum
FROM TestTable T,(SELECT @I:=0)I
ORDER BY order_id;
Попробуй понять разницу, дебилушка.
...
Рейтинг: 0 / 0
25 сообщений из 117, страница 2 из 5
Форумы / MySQL [закрыт для гостей] / Спроси у 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]