powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос с нумерацией строк и сортировка (перемешивается)
14 сообщений из 14, страница 1 из 1
Запрос с нумерацией строк и сортировка (перемешивается)
    #39018721
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum, ...
FROM...
...
ORDER BY planned_arrival_date


Если не ставишь ORDER BY, то выводится 1, 2, 3, 4, 5, если ставишь, то номера строк перемешиваются: 10, 8, 1, 3, 5, 4.
Как сделать, чтобы номера строк все равно шли по порядку?
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39018967
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad
Код: sql
1.
2.
3.
4.
5.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum, ...
FROM...
...
ORDER BY planned_arrival_date



Если не ставишь ORDER BY, то выводится 1, 2, 3, 4, 5, если ставишь, то номера строк перемешиваются: 10, 8, 1, 3, 5, 4.
Как сделать, чтобы номера строк все равно шли по порядку?

показывайте вес' запрос.
Это какой-то вариантов, когда
порядок вычисления в СЕЛЕКТ не совпадает с ОРДЕР БУ.

Если лечит' прямолинейно, то сделайте основной селект БЕЗ роунамбер и БЕЗ ордер бу,
а потом оберните в дополнительный селект с ройнамбер и ордером.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019500
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcsvnvlad
Код: sql
1.
2.
3.
4.
5.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum, ...
FROM...
...
ORDER BY planned_arrival_date



Если не ставишь ORDER BY, то выводится 1, 2, 3, 4, 5, если ставишь, то номера строк перемешиваются: 10, 8, 1, 3, 5, 4.
Как сделать, чтобы номера строк все равно шли по порядку?

показывайте вес' запрос.
Это какой-то вариантов, когда
порядок вычисления в СЕЛЕКТ не совпадает с ОРДЕР БУ.

Если лечит' прямолинейно, то сделайте основной селект БЕЗ роунамбер и БЕЗ ордер бу,
а потом оберните в дополнительный селект с ройнамбер и ордером.
Пусть будет такой запрос:
Код: sql
1.
2.
3.
4.
5.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum
FROM vessel_card_cargo vcc
JOIN (select @rownum := 0) AS r
ORDER BY planned_arrival_date
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019503
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcЕсли лечит' прямолинейно, то сделайте основной селект БЕЗ роунамбер и БЕЗ ордер бу,
а потом оберните в дополнительный селект с ройнамбер и ордером.
[/quot]
Код: sql
1.
2.
3.
4.
5.
6.
SELECT *, (@rownum := @rownum + 1) AS rownum
FROM
  (SELECT vcc.*,
  FROM vessel_card_cargo vcc
  ORDER BY planned_arrival_date) AS inner
  JOIN (select @rownum := 0) AS r


Так чтоли?
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019641
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladjavajdbcпропущено...


показывайте вес' запрос.
Это какой-то вариантов, когда
порядок вычисления в СЕЛЕКТ не совпадает с ОРДЕР БУ.

Если лечит' прямолинейно, то сделайте основной селект БЕЗ роунамбер и БЕЗ ордер бу,
а потом оберните в дополнительный селект с ройнамбер и ордером.
Пусть будет такой запрос:
Код: sql
1.
2.
3.
4.
5.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum
FROM vessel_card_cargo vcc
JOIN (select @rownum := 0) AS r
ORDER BY planned_arrival_date




"пусть будет" тут не очень подходит.
или у вас имено этот запрос, тогда надо заводить МуСКЛ баг
или у вас другой запрос в котором использование переменых не рекомендовано.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019643
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladjavajdbcЕсли лечит' прямолинейно, то сделайте основной селект БЕЗ роунамбер и БЕЗ ордер бу,
а потом оберните в дополнительный селект с ройнамбер и ордером.

Код: sql
1.
2.
3.
4.
5.
6.
SELECT *, (@rownum := @rownum + 1) AS rownum
FROM
  (SELECT vcc.*,
  FROM vessel_card_cargo vcc
  ORDER BY planned_arrival_date) AS inner
  JOIN (select @rownum := 0) AS r



Так чтоли?[/quote]


Нет, ОРДЕР БУ должен быть на том же уровне что и роунум --
во внешнем селекте.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019705
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcsvnvladпропущено...


Код: sql
1.
2.
3.
4.
5.
6.
SELECT *, (@rownum := @rownum + 1) AS rownum
FROM
  (SELECT vcc.*,
  FROM vessel_card_cargo vcc
  ORDER BY planned_arrival_date) AS inner
  JOIN (select @rownum := 0) AS r



Так чтоли?


Нет, ОРДЕР БУ должен быть на том же уровне что и роунум --
во внешнем селекте.[/quot]
И как же он его сортировать будет, если и роунум, и ордер бай на одном уровне? Отсортируешь по дате, перемешает порядковые номера.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019711
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc"пусть будет" тут не очень подходит.
или у вас имено этот запрос, тогда надо заводить МуСКЛ баг
или у вас другой запрос в котором использование переменых не рекомендовано.
Зачем МуСКЛ баг, если все видно логически: если например сотрировать по дате, то id, будет не по порядку. Если сортировать по id, то даты будут не по порядку. Такая же история и с row_num - он выступает как одно из полей.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019753
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladjavajdbc"пусть будет" тут не очень подходит.
или у вас имено этот запрос, тогда надо заводить МуСКЛ баг
или у вас другой запрос в котором использование переменых не рекомендовано.
Зачем МуСКЛ баг, если все видно логически: если например сотрировать по дате, то id, будет не по порядку. Если сортировать по id, то даты будут не по порядку. Такая же история и с row_num - он выступает как одно из полей.


ок, раберитесь что у вас ИД а что роунамбер.
Про какие номера вы говорили?

авторЕсли не ставишь ORDER BY, то выводится 1, 2, 3, 4, 5, если ставишь, то номера строк перемешиваются: 10, 8, 1, 3, 5, 4.
Как сделать, чтобы номера строк все равно шли по порядку?
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019851
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcsvnvladпропущено...

Зачем МуСКЛ баг, если все видно логически: если например сотрировать по дате, то id, будет не по порядку. Если сортировать по id, то даты будут не по порядку. Такая же история и с row_num - он выступает как одно из полей.


ок, раберитесь что у вас ИД а что роунамбер.
Про какие номера вы говорили?

авторЕсли не ставишь ORDER BY, то выводится 1, 2, 3, 4, 5, если ставишь, то номера строк перемешиваются: 10, 8, 1, 3, 5, 4.
Как сделать, чтобы номера строк все равно шли по порядку?
Про row_number. Если он идет наравне с другими полями, то очевидно, сортировка будет нарушаться, если сортировать не по row_number. Или не так?
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39019929
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladjavajdbcпропущено...



ок, раберитесь что у вас ИД а что роунамбер.
Про какие номера вы говорили?

пропущено...

Про row_number. Если он идет наравне с другими полями, то очевидно, сортировка будет нарушаться, если сортировать не по row_number. Или не так?


В простых случаях -- НЕ так, в сложных может произойти перемешивание но
НЕ так , как вы предположили.

Или вы дадите конкретный запрос (ну поменяйте названия таблиц если там что-то секретное)
или ну его нафиг....
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39020042
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

сдается мне что у вас замешан GROUP BY,
а ORDER BY здесь не причем
на простой табличке проверьте
Код: sql
1.
2.
3.
4.
5.
6.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum, ...
FROM...
...
GROUP BY planned_arrival_date -- с этим и без этого
ORDER BY planned_arrival_date
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39029947
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinovsvnvlad,

сдается мне что у вас замешан GROUP BY,
а ORDER BY здесь не причем
на простой табличке проверьте
Код: sql
1.
2.
3.
4.
5.
6.
SELECT vcc.*,
(@rownum := @rownum + 1) AS rownum, ...
FROM...
...
GROUP BY planned_arrival_date -- с этим и без этого
ORDER BY planned_arrival_date


Да, GROUP BY замешан. С внутренним и внешним запросом все работает.
...
Рейтинг: 0 / 0
Запрос с нумерацией строк и сортировка (перемешивается)
    #39029948
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcsvnvladпропущено...

Про row_number. Если он идет наравне с другими полями, то очевидно, сортировка будет нарушаться, если сортировать не по row_number. Или не так?


В простых случаях -- НЕ так, в сложных может произойти перемешивание но
НЕ так , как вы предположили.

Или вы дадите конкретный запрос (ну поменяйте названия таблиц если там что-то секретное)
или ну его нафиг....
С этим проблем нет, но там больше 10 таблиц, надо ли это, если принцип с 2 таблицами такой же.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос с нумерацией строк и сортировка (перемешивается)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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