Гость
Map
Форумы / MySQL [закрыт для гостей] / Спроси у 02 / 25 сообщений из 117, страница 1 из 5
29.12.2022, 09:29
    #257285
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Привет, спроси пож. у писателя, как бы это написать без 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
?
...
Redd:
Пользователь запросил модераторские права на тему.
Рейтинг: 0 / 0
29.12.2022, 09:42
    #257299
eNose
Участник
[не активирован]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd  29.12.2022, 09:29
[игнорируется]
как бы это написать без OVER
вынести сортировку во внешний селект
...
Рейтинг: 0 / 0
29.12.2022, 09:50
    #257311
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
eNose  29.12.2022, 09:42
[игнорируется]
Redd  29.12.2022, 09:29
[игнорируется]
как бы это написать без OVER
вынести сортировку во внешний селект
Вынеси чтоб не развалилось это чудо-юдо
...
Рейтинг: 0 / 0
29.12.2022, 10:11
    #257337
Дед-Папыхтет
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
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
...
Изменено: 29.12.2022, 10:12 - Дед-Папыхтет
Рейтинг: 0 / 0
29.12.2022, 10:34
    #257356
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  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
?
...
Рейтинг: 0 / 0
29.12.2022, 10:41
    #257361
Дед-Папыхтет
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
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
?
Ну да )))) условия корректно перенеси
...
Рейтинг: 0 / 0
29.12.2022, 10:51
    #257371
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  29.12.2022, 10:41
[игнорируется]
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
?
Ну да )))) условия корректно перенеси
Мопед не мой, что он вообще там выдумывает этой куйней 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
29.12.2022, 10:58
    #257379
Дед-Папыхтет
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd [игнорируется] 

Запрос какой получился?
...
Рейтинг: 0 / 0
29.12.2022, 11:00
    #257381
eNose
Участник
[не активирован]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  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
29.12.2022, 11:01
    #257382
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  29.12.2022, 10:58
[игнорируется]
Redd [игнорируется] 

Запрос какой получился?
Да любой можно)
Есть такой
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT NR FROM

                             (SELECT (
                                 SELECT COUNT(V1_POST.ID)  FROM V1_POST
                             )  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
Есть такой
Код: 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

                                    )
Смысл убрать эту срань ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR
...
Рейтинг: 0 / 0
29.12.2022, 11:54
    #257426
Помощник Менеджера
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Пользователь назначен модератором темы: Redd.
...
https://dedoforum.ru/

Ну а что делать то
Помощник Менеджера:
Пользователь назначен модератором темы: Redd.
Рейтинг: 0 / 0
29.12.2022, 12:09
    #257435
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
basename
у тебя там sql консоль поблизости?
...
Рейтинг: 0 / 0
29.12.2022, 12:11
    #257436
Дед-Папыхтет
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd  29.12.2022, 11:01
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:58
[игнорируется]
Redd [игнорируется] 

Запрос какой получился?
Да любой можно)
Есть такой
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT NR FROM

                             (SELECT (
                                 SELECT COUNT(V1_POST.ID)  FROM V1_POST
                             )  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
Есть такой
Код: 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

                                    )
Смысл убрать эту срань ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR
Ну в лоб по примеру можно так:
Спойлер
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
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

SELECT NR
FROM
(
    SELECT
        (
            SELECT COUNT(*)
            FROM V1_POST p2
            INNER JOIN V1_TOPIC t2 ON (p2.TOPIC_ID = t2.ID)
            INNER JOIN V1_FORUM f2 ON (t2.FORUM_ID = f2.ID)
            WHERE (p2.TOPIC_ID = 547 AND p2.PINNED <> 1
                    AND (t2.DELETED + f2.DELETED + p2.DELETED) = 0
                    AND p1.CREATION_DATE <= p2.CREATIOIN_DATE)
        ) NR,
        V1_POST.ID
    FROM V1_POST p1
    INNER JOIN V1_TOPIC t1 ON (p1.TOPIC_ID = t1.ID)
    INNER JOIN V1_FORUM f1 ON (t1.FORUM_ID = f1.ID)
    WHERE (p1.TOPIC_ID = 547 AND p1.PINNED <> 1
            AND (t1.DELETED + f1.DELETED + p1.DELETED) = 0)
) POSTS
WHERE ID = 4024
Но есть нюанс )))))) так работает если CREATION_DATE уникальное поле в рамках таблицы V1_POST
...
Рейтинг: 0 / 0
29.12.2022, 12:12
    #257437
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Выполни эту херь
Код: 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 = 7032 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID =  257285
потом эту херь
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT NR FROM
                             (SELECT (SELECT COUNT(ID) FROM V1_POST WHERE TOPIC_ID = V1_TOPIC.ID) 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 = 7032 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID =  257285
Чего вернули?
...
Рейтинг: 0 / 0
29.12.2022, 12:18
    #257444
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  29.12.2022, 12:11
[игнорируется]
Redd  29.12.2022, 11:01
[игнорируется]
Дед-Папыхтет  29.12.2022, 10:58
[игнорируется]
Redd [игнорируется] 

Запрос какой получился?
Да любой можно)
Есть такой
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT NR FROM

                             (SELECT (
                                 SELECT COUNT(V1_POST.ID)  FROM V1_POST
                             )  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
Есть такой
Код: 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

                                    )
Смысл убрать эту срань ROW_NUMBER() OVER(ORDER BY V1_POST.CREATION_DATE) NR
Ну в лоб по примеру можно так:
Спойлер
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
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

SELECT NR
FROM
(
    SELECT
        (
            SELECT COUNT(*)
            FROM V1_POST p2
            INNER JOIN V1_TOPIC t2 ON (p2.TOPIC_ID = t2.ID)
            INNER JOIN V1_FORUM f2 ON (t2.FORUM_ID = f2.ID)
            WHERE (p2.TOPIC_ID = 547 AND p2.PINNED <> 1
                    AND (t2.DELETED + f2.DELETED + p2.DELETED) = 0
                    AND p1.CREATION_DATE <= p2.CREATIOIN_DATE)
        ) NR,
        V1_POST.ID
    FROM V1_POST p1
    INNER JOIN V1_TOPIC t1 ON (p1.TOPIC_ID = t1.ID)
    INNER JOIN V1_FORUM f1 ON (t1.FORUM_ID = f1.ID)
    WHERE (p1.TOPIC_ID = 547 AND p1.PINNED <> 1
            AND (t1.DELETED + f1.DELETED + p1.DELETED) = 0)
) POSTS
WHERE ID = 4024
Но есть нюанс )))))) так работает если CREATION_DATE уникальное поле в рамках таблицы V1_POST
#1054 - Неизвестный столбец 'p2.CREATIOIN_DATE' в 'where clause'
...
Рейтинг: 0 / 0
29.12.2022, 12:23
    #257456
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Плять, разбудите там кто-нибудь каблука этого!? Из Минска который
...
Рейтинг: 0 / 0
29.12.2022, 12:25
    #257459
Помощник Менеджера
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd  29.12.2022, 12:23
[игнорируется]
Плять, разбудите там кто-нибудь каблука этого!? Из Минска который
Ему в сутки послезавтра итти, пусть спит

А чо запилить то хотите, чем вам дединъ говнокод не угодил?
...
https://dedoforum.ru/

Ну а что делать то
Рейтинг: 0 / 0
29.12.2022, 12:28
    #257462
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Помощник Менеджера  29.12.2022, 12:25
[игнорируется]
Redd  29.12.2022, 12:23
[игнорируется]
Плять, разбудите там кто-нибудь каблука этого!? Из Минска который
Ему в сутки послезавтра итти, пусть спит

А чо запилить то хотите, чем вам дединъ говнокод не угодил?
Да не работает кусок куска, надо убрать модные гейские сущности и оставить олдскул!
...
Рейтинг: 0 / 0
29.12.2022, 12:32
    #257473
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Помощник Менеджера [игнорируется] 

Версия немножко не та Марии получилась у меня, забыл про смузи и всякие красные труселя от мастеров и вот поделие 02 немножко местами обсирается и и и..
...
Рейтинг: 0 / 0
29.12.2022, 13:15
    #257505
basename
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd  29.12.2022, 12:09
[игнорируется]
basename
у тебя там sql консоль поблизости?
Нет, я вообще в городе. А что?
...
Рейтинг: 0 / 0
29.12.2022, 13:19
    #257507
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
В общем подобрал

Это по модному
Код: 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 = 239 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID = 1395
Это замена
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT NR FROM
                             (SELECT
                              (SELECT COUNT(ID) FROM V1_POST WHERE ID <= 1395 AND TOPIC_ID = V1_TOPIC.ID ORDER BY 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 = 239 AND V1_POST.PINNED <> 1
                                     AND (V1_TOPIC.DELETED + V1_FORUM.DELETED + V1_POST.DELETED) = 0

                                    )
                             ) POSTS
                             WHERE ID = 1395
На вид все одинаково на выходе
...
Рейтинг: 0 / 0
29.12.2022, 13:20
    #257509
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
basename  29.12.2022, 13:15
[игнорируется]
Redd  29.12.2022, 12:09
[игнорируется]
basename
у тебя там sql консоль поблизости?
Нет, я вообще в городе. А что?
Да уже фсё
...
Рейтинг: 0 / 0
29.12.2022, 13:28
    #257515
Дед-Папыхтет
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Redd  29.12.2022, 13:19
[игнорируется]
Код: SQL
1.
(SELECT COUNT(ID) FROM V1_POST WHERE ID <= 1395 AND TOPIC_ID = V1_TOPIC.ID ORDER BY CREATION_DATE) NR, V1_POST.ID
1. А нахер сортировка при подсчете количества? )))) t-sql просто не позволит такое делать, mysql позволяет но результат не меняется же ))))
2. ну если можно не задействовать другие таблицы... хотя я вижу в оригинале пропуск удаленных постов, форумов.... похоже при удаленных постах форумах топиках - твое количество будет показывать хуйню.
3. все же row_number быстрее отработает нежели дважды использовать таблицу в запросе. может просто разобраться как работает row_number? и не пугаться синтаксиса?
...
Рейтинг: 0 / 0
29.12.2022, 13:30
    #257518
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
3. все же row_number быстрее отработает нежели дважды использовать таблицу в запросе. может просто разобраться как работает row_number? и не пугаться синтаксиса?
Можно ахуенный вариант без row_number? Представь, что его не существует и небыло никогда)
...
Рейтинг: 0 / 0
29.12.2022, 13:32
    #257519
Redd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Спроси у 02
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
1. А нахер сортировка при подсчете количества? )))) t-sql просто не позволит такое делать, mysql позволяет но результат не меняется же ))))
Да хуй его ебет, что там писатель навыдумывал, можно и убрать..
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
2. ну если можно не задействовать другие таблицы... хотя я вижу в оригинале пропуск удаленных постов, форумов.... похоже при удаленных постах форумах топиках - твое количество будет показывать хуйню.
Ща проверю. Удалять в его подели нельзя, можно скрывать)
...
Рейтинг: 0 / 0
Форумы / MySQL [закрыт для гостей] / Спроси у 02 / 25 сообщений из 117, страница 1 из 5
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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