powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Поиск: Искать ответы на сообщение: #257382  
7 сообщений из 7, страница 1 из 1
MySQL / Спроси у 02
    #257382
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
MySQL / Спроси у 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
MySQL / Спроси у 02
    #257444
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
MySQL / Спроси у 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
MySQL / Спроси у 02
    #257606
Redd
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  29.12.2022, 15:17
[игнорируется]
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
MySQL / Спроси у 02
    #257612
Фотография in100gramm
Скрыть профиль Поместить в игнор-лист
Участник
Redd  29.12.2022, 15:20
[игнорируется]
Ну и пиши эквивалент row_number(), долбоёбина.

Блядь, еблан, почитай нормально топик. И найди нужное место.
Форум высокой культуры [:grin]
...
Рейтинг: 0 / 0
MySQL / Спроси у 02
    #257618
Горбатый ёж
Скрыть профиль Поместить в игнор-лист
Участник
Redd  29.12.2022, 15:20
[игнорируется]
Блядь, еблан, почитай нормально топик. И найди нужное место.
Это что ли?
Redd  29.12.2022, 13:19
[игнорируется]
Это замена
Код: 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
Долбоёб, здесь тот же самый count, который считает количество, а не нумерует строки по порядку.
Иди уже хотя бы узнай разницу между количеством и нумерацией.
И я уж не говорю о том, что твоё ограничение на Id тупое, равно как и ограничение на id<1395 тоже пальцем в жопу, такие действия называются подгоном решения под нужный результат, в общем случае это нихуя не эквивалент использованию row_number.
И ещё, тебе, дебилушке сказали, что order by при использовании твоего count не нужен, но ты даже этого не осилил понять.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Поиск: Искать ответы на сообщение: #257382  
Пользователи онлайн (31): Анонимы (15), Три нитки, Yandex Bot, Умник-практикующий, Просто Трёп, Bing Bot, паразит 1 мин., IT-Клоп 1 мин., Ветер 2 мин., anonymous 2 мин., Гарыныч 4 мин., Sparrow 4 мин., битый 4 мин., Biene Maja 5 мин., s62 5 мин., Ибрагимов Мага 82 7 мин., basename 8 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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