powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Поиск: Искать ответы на сообщение: #369812  
11 сообщений из 11, страница 1 из 1
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369812
eNose
Скрыть профиль Поместить в игнор-лист
Участник
[не активирован]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
...
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369817
Гарыныч
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей кроме]
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
сам давай, я верю в тебя!
...
дед-пердед
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369820
eNose
Скрыть профиль Поместить в игнор-лист
Участник
[не активирован]
Гарыныч  24.04.2023, 19:21
[игнорируется]
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
сам давай, я верю в тебя!
Я чо та затупил
...
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369831
Гарыныч
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей кроме]
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
нада попыха позвать, он сходу решит!
Дед-Папыхтет

Папых, помоги Инозу! мана, позя
...
дед-пердед
Изменено: 24.04.2023, 19:31 - Гарыныч
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369845
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист
Участник
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
Какое id?
Для aaa 1,3,4
Почему в результате 1,3 без 4?
Если больше айдишек что выводить?
...
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369861
xevexan
Скрыть профиль Поместить в игнор-лист
Участник
[заблокирован]
cat2  24.04.2023, 19:50
[игнорируется]
eNose  24.04.2023, 19:22
[игнорируется]
Я чо та затупил
Какие, нахрен 4 результата мин-мах по ид? ИД же уникальное, будет только два значения
ещё адин уёбан, каторый ниасилил ТЗ
дурачьё безголовое, бля
...
Изменено: 24.04.2023, 19:52 - xevexan
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369862
IT-Клоп
Скрыть профиль Поместить в игнор-лист
Участник
cat2  24.04.2023, 19:50
[игнорируется]
eNose  24.04.2023, 19:22
[игнорируется]
Я чо та затупил
Какие, нахрен 4 результата мин-мах по ид? ИД же уникальное, будет только два значения
надо склеить id, которые получил запрос с max с id, которые получил запрос с min

так то все понятно по ТЗ, разве что ограничения на таблицу были бы интересны, АТО можно проебаццо.
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369872
Гарыныч
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей кроме]
IT-Клоп  24.04.2023, 19:52
[игнорируется]
cat2  24.04.2023, 19:50
[игнорируется]
eNose  24.04.2023, 19:22
[игнорируется]
Я чо та затупил
Какие, нахрен 4 результата мин-мах по ид? ИД же уникальное, будет только два значения
надо склеить id, которые получил запрос с max с id, которые получил запрос с min

так то все понятно по ТЗ, разве что ограничения на таблицу были бы интересны, АТО можно проебаццо.
да, выбрать минимумы, потом максимумы, потом их сджойнить по Нэйм :
1. минимумы :
SELECT tab1.name, Min(tab1.time) AS nin_time, First(Str([id])) AS id_min
FROM tab1
GROUP BY tab1.name;

2. максимумы :
SELECT tab1.name, Max(tab1.time) AS max_time, Last(Str([id])) AS id_max
FROM tab1
GROUP BY tab1.name;

потом их как-то склеить в один запрос
...
дед-пердед
Изменено: 24.04.2023, 20:06 - Гарыныч
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #369916
Огрищще
Скрыть профиль Поместить в игнор-лист
Участник
Улыбайтесь - это всех раздражает.©
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
можно
...
Рейтинг: 0 / 0
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #370175
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
если в таблице name'ов не очень много, то, наверное, можно так
Код: 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.
use tempdb;
go

drop table if exists #a;
create table #a(
   id int not null primary key
  ,[name] varchar(10) not null
  ,[time] time not null
);

insert into #a(id, [name], [time])
values
   (  1,  'aaa',  '08:00')
  ,(  2,  'bbb',  '09:00')
  ,(  3,  'aaa',  '08:52')
  ,(  4,  'aaa',  '10:00')
  ,(  5,  'bbb',  '11:00')
  ,(  6,  'bbb',  '10:00');

; with cte as (
select
    a.name
   ,min(a.id) as id1
   ,min(a.time) as time1
  from #a as a
  group by a.name
)

select
     c.name
    ,c.id1
    ,c.time1 as [minute]
    ,t2.id as id2
    ,t2.time as [maxtime]
  from cte as c
  outer apply (
    select top 1 a.id, a.time
      from #a as a
      where a.name = c.name
      order by a.time desc
  ) as t2
З.Ы. только проснулся, вина нет, жду, когда чай остынет
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Просто Трёп / А можно как-то запросом получить ? MS SQL
    #370183
PaNik
Скрыть профиль Поместить в игнор-лист
Участник
[игнорирует гостей]
[не активирован]
[неодобрен]
PaNik  25.04.2023, 01:24
[игнорируется]
eNose  24.04.2023, 19:15
[игнорируется]
Из такой таблицы
id name time
1 aaa 08:00
2 bbb 09:00
3 aaa 08:52
4 aaa 10:00
5 bbb 11:00
6 bbb 10:00
Такой результат
name id1 mintime id2 maxtime
aaa 1 08:00 4 10:00
bbb 2 09:00 5 11:00
То есть получить не только минимальное и максимальное время для каждого name, но и id записи.

Есть тут еще не пропившие мозг базоёбы?
если в таблице name'ов не очень много, то, наверное, можно так
Код: 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.
use tempdb;
go

drop table if exists #a;
create table #a(
   id int not null primary key
  ,[name] varchar(10) not null
  ,[time] time not null
);

insert into #a(id, [name], [time])
values
   (  1,  'aaa',  '08:00')
  ,(  2,  'bbb',  '09:00')
  ,(  3,  'aaa',  '08:52')
  ,(  4,  'aaa',  '10:00')
  ,(  5,  'bbb',  '11:00')
  ,(  6,  'bbb',  '10:00');

; with cte as (
select
    a.name
   ,min(a.id) as id1
   ,min(a.time) as time1
  from #a as a
  group by a.name
)

select
     c.name
    ,c.id1
    ,c.time1 as [minute]
    ,t2.id as id2
    ,t2.time as [maxtime]
  from cte as c
  outer apply (
    select top 1 a.id, a.time
      from #a as a
      where a.name = c.name
      order by a.time desc
  ) as t2
З.Ы. только проснулся, вина нет, жду, когда чай остынет
ересь какую-то написал, так вроде интереснее
Код: 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.
use tempdb;
go

drop table if exists #a;
create table #a(
   id int not null primary key
  ,[name] varchar(10) not null
  ,[time] time not null
);

insert into #a(id, [name], [time])
values
   (  1,  'aaa',  '08:00')
  ,(  2,  'bbb',  '09:00')
  ,(  3,  'aaa',  '08:52')
  ,(  4,  'aaa',  '10:00')
  ,(  5,  'bbb',  '11:00')
  ,(  6,  'bbb',  '10:00');

; with cte as (
select
    a.name
  from #a as a
  group by a.name
)

select
     c.name
    ,t1.id as id1
    ,t1.time as [minute]
    ,t2.id as id2
    ,t2.time as [maxtime]
  from cte as c
  outer apply (
    select top 1 a.id, a.time
      from #a as a
      where a.name = c.name
      order by a.time
  ) as t1
  outer apply (
    select top 1 a.id, a.time
      from #a as a
      where a.name = c.name
      order by a.time desc
  ) as t2
...
Изменено: 25.04.2023, 01:47 - PaNik
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Поиск: Искать ответы на сообщение: #369812  
Пользователи онлайн (101): Анонимы (88), С чистого листа, Sparrow, Ибрагимов Мага 82, Yandex Bot, Bing Bot 1 мин., Гарыныч 2 мин., Шоколадный01 2 мин., cat2 3 мин., Vaska Balboa 3 мин., Tayfur 4 мин., S Baltiki 5 мин., Модест 9 мин., Green 9 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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