powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / MySQL [закрыт для гостей] / Спроси у 02
25 сообщений из 117, страница 1 из 5
Спроси у 02
    #257285
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Привет, спроси пож. у писателя, как бы это написать без 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
Спроси у 02
    #257299
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Redd  29.12.2022, 09:29
[игнорируется]
как бы это написать без OVER
вынести сортировку во внешний селект
...
Рейтинг: 0 / 0
Спроси у 02
    #257311
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
eNose  29.12.2022, 09:42
[игнорируется]
Redd  29.12.2022, 09:29
[игнорируется]
как бы это написать без OVER
вынести сортировку во внешний селект
Вынеси чтоб не развалилось это чудо-юдо
...
Рейтинг: 0 / 0
Спроси у 02
    #257337
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Спроси у 02
    #257356
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  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
Спроси у 02
    #257361
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Спроси у 02
    #257371
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  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
Спроси у 02
    #257379
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd [игнорируется] 

Запрос какой получился?
...
Рейтинг: 0 / 0
Спроси у 02
    #257381
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Дед-Папыхтет  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
    #257382
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  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
Спроси у 02
    #257426
Помощник Менеджера
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь назначен модератором темы: Redd.
...
https://dedoforum.ru/

Ну а что делать то
Помощник Менеджера:
Пользователь назначен модератором темы: Redd.
Рейтинг: 0 / 0
Спроси у 02
    #257435
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
basename
у тебя там sql консоль поблизости?
...
Рейтинг: 0 / 0
Спроси у 02
    #257436
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Спроси у 02
    #257437
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Выполни эту херь
Код: 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
Спроси у 02
    #257444
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  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
Спроси у 02
    #257456
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Плять, разбудите там кто-нибудь каблука этого!? Из Минска который
...
Рейтинг: 0 / 0
Спроси у 02
    #257459
Помощник Менеджера
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd  29.12.2022, 12:23
[игнорируется]
Плять, разбудите там кто-нибудь каблука этого!? Из Минска который
Ему в сутки послезавтра итти, пусть спит

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

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

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

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

Это по модному
Код: 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
Спроси у 02
    #257509
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
basename  29.12.2022, 13:15
[игнорируется]
Redd  29.12.2022, 12:09
[игнорируется]
basename
у тебя там sql консоль поблизости?
Нет, я вообще в городе. А что?
Да уже фсё
...
Рейтинг: 0 / 0
Спроси у 02
    #257515
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Спроси у 02
    #257518
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
3. все же row_number быстрее отработает нежели дважды использовать таблицу в запросе. может просто разобраться как работает row_number? и не пугаться синтаксиса?
Можно ахуенный вариант без row_number? Представь, что его не существует и небыло никогда)
...
Рейтинг: 0 / 0
Спроси у 02
    #257519
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Redd 
Участник
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
1. А нахер сортировка при подсчете количества? )))) t-sql просто не позволит такое делать, mysql позволяет но результат не меняется же ))))
Да хуй его ебет, что там писатель навыдумывал, можно и убрать..
Дед-Папыхтет  29.12.2022, 13:28
[игнорируется]
2. ну если можно не задействовать другие таблицы... хотя я вижу в оригинале пропуск удаленных постов, форумов.... похоже при удаленных постах форумах топиках - твое количество будет показывать хуйню.
Ща проверю. Удалять в его подели нельзя, можно скрывать)
...
Рейтинг: 0 / 0
25 сообщений из 117, страница 1 из 5
Форумы / MySQL [закрыт для гостей] / Спроси у 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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