powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Найти все ID от 1 до 10, которые свободны
4 сообщений из 4, страница 1 из 1
Найти все ID от 1 до 10, которые свободны
    #39098503
DeeZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица с ID, например ids:
id579
Нужно найти все ID от 1 до 10, которые свободны. Что то типа:
Код: sql
1.
2.
3.
select i 
from (for i in {1..10} echo $i)
where i not in (select id from ids)


Желательно без функций. Как то можно такое сделать?
...
Рейтинг: 0 / 0
Найти все ID от 1 до 10, которые свободны
    #39098529
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT t1.id
FROM
 (SELECT 1 id
    UNION ALL
  SELECT 2
    UNION ALL
  SELECT 3
    UNION ALL
  SELECT 4
    UNION ALL
  SELECT 5
    UNION ALL
  SELECT 6
    UNION ALL
  SELECT 7
    UNION ALL
  SELECT 8
    UNION ALL
  SELECT 9
    UNION ALL
  SELECT 10) t1
LEFT JOIN ids ON t1.id=ids.id
WHERE ids.id IS NULL
...
Рейтинг: 0 / 0
Найти все ID от 1 до 10, которые свободны
    #39098537
DeeZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

на деле id нужно выбрать из диапазона 1..5000.
Уж проще создать таблицу чем писать такое..
...
Рейтинг: 0 / 0
Найти все ID от 1 до 10, которые свободны
    #39098561
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeeZна деле id нужно выбрать из диапазона 1..5000.Да нет проблем!
Код: 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.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
SELECT tt.id
FROM
 (SELECT t1.id*1000+t2.id*100+t3.id*10+t4.id+1 id FROM
 (SELECT 0 id
    UNION ALL
  SELECT 1
    UNION ALL
  SELECT 2
    UNION ALL
  SELECT 3
    UNION ALL
  SELECT 4) t1,
 (SELECT 0 id
    UNION ALL
  SELECT 1
    UNION ALL
  SELECT 2
    UNION ALL
  SELECT 3
    UNION ALL
  SELECT 4
    UNION ALL
  SELECT 5
    UNION ALL
  SELECT 6
    UNION ALL
  SELECT 7
    UNION ALL
  SELECT 8
    UNION ALL
  SELECT 9) t2,
 (SELECT 0 id
    UNION ALL
  SELECT 1
    UNION ALL
  SELECT 2
    UNION ALL
  SELECT 3
    UNION ALL
  SELECT 4
    UNION ALL
  SELECT 5
    UNION ALL
  SELECT 6
    UNION ALL
  SELECT 7
    UNION ALL
  SELECT 8
    UNION ALL
  SELECT 9) t3,
 (SELECT 0 id
    UNION ALL
  SELECT 1
    UNION ALL
  SELECT 2
    UNION ALL
  SELECT 3
    UNION ALL
  SELECT 4
    UNION ALL
  SELECT 5
    UNION ALL
  SELECT 6
    UNION ALL
  SELECT 7
    UNION ALL
  SELECT 8
    UNION ALL
  SELECT 9) t4
) tt
LEFT JOIN ids ON tt.id=ids.id
WHERE ids.id IS NULL



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


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