powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно сделать выборку
45 сообщений из 45, показаны все 2 страниц
Как правильно сделать выборку
    #38926864
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые!!! Нужна ваша помощь. никак не могу написать правильный запрос. Задача такая чтобы из этих 4-х записей выбрать 2, то есть должно быть Идентификатор: 1, дата: 15.06.2015 и вторая запись Идентификатор: 2, дата: 24.08.2016. вообщем чтобы для каждого идентификатора выбиралась запись по последней дате.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38926873
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111,

запрос к SQL или что?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38926890
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111,

делайте группировку по MAX
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927014
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да sql запрос, по максу не работает
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927062
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не у кого нет идей?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927065
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111Да sql запрос, по максу не работает
Поищите по форуму ветки MS SQL Server. Подобную проблему на моей памяти раз так 5 решали за последние месяца 3.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927073
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111написать правильный запросdexter111по максу не работаетdexter111Не у кого нет идей?Идей полно:
Правильно выбрать подфорум для вопроса (если вопрос по SQL, так и надо его задавать в SQL)

Показать структуру таблиц, текст текущего запроса

Показать попытку сделать с Max, показать ошибку, с которой запрос "не работает"

Почитать статью , как задавать вопросы (если хочешь получить ответ), подумать о смысле жизни
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927080
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибки никакой нет при использовании max, просто не происходит никаких изменений. поискал в ветке Sql ничего похожего нет.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927081
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее они происходят, но выбирается одна запись
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927083
ЦБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111поискал в ветке Sql ничего похожего нет.
плохо искал
8947782
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927088
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111должно быть Идентификатор: 1, дата: 15.06.2015 и вторая запись Идентификатор: 2, дата: 24.08.2016
Код: 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.
CREATE TABLE Test (
  ID              INTEGER,
  Date_operation  DATETIME,
  Identifikator   INTEGER
)
GO

INSERT INTO Test VALUES (2, '2015-05-28', 1)
INSERT INTO Test VALUES (3, '2015-06-15', 1)
INSERT INTO Test VALUES (5, '2016-07-24', 2)
INSERT INTO Test VALUES (6, '2016-08-24', 2)
GO

WITH T (ID, OperationDate, PartitionID, RowNumber)
AS
(
 SELECT *, ROW_NUMBER() OVER(PARTITION BY Identifikator ORDER BY Date_operation DESC)
 FROM Test
)
SELECT PartitionID, OperationDate FROM T WHERE RowNumber = 1
GO

DROP TABLE Test
GO
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927090
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111,
наверное, у тебя дата сохранена как текст, вот max и не работает
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927148
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111Да sql запрос, по максу не работает

какой запрос у вас получился?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927155
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhкакой запрос у вас получился?автор не считает нужным делиться своим кодом даже после очень толстого намека

Ему сюда надо...
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927256
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Зачем вы так?) я еще просто не делал. другие дела пока, как сделаю сообщу
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927257
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если выполнить код представленный выше, то вылазит такая ошибка Сообщение 208, уровень 16, состояние 1, строка 2
Недопустимое имя объекта "Test".
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927270
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111,

Я вам настоятельно рекомендую, перед тем как задавать тут вопросы, изучите основы программирования или оставьте это дело.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927296
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111Зачем вы так?)Да затем, чтоdexter111Да sql запрос, по максу не работаетdexter111) я еще просто не делалне надо нам тут лапшу на уши вешать, тут люди прожжёные
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927342
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111Если выполнить код представленный выше, то вылазит такая ошибка Сообщение 208, уровень 16, состояние 1, строка 2
Недопустимое имя объекта "Test".где выполнить? Версия сервера?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927412
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

исправленный вариант

Код: 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.
CREATE TABLE Test (
  ID              INTEGER,
  Date_operation  DATETIME,
  Identifikator   INTEGER
)
GO

INSERT INTO Test VALUES (2, '2015-05-28T00:00:00', 1)
INSERT INTO Test VALUES (3, '2015-06-15T00:00:00', 1)
INSERT INTO Test VALUES (5, '2016-07-24T00:00:00', 2)
INSERT INTO Test VALUES (6, '2016-08-24T00:00:00', 2)
GO

WITH T (ID, OperationDate, PartitionID, RowNumber)
AS
(
 SELECT *, ROW_NUMBER() OVER(PARTITION BY Identifikator ORDER BY Date_operation DESC)
 FROM Test
)
SELECT PartitionID, OperationDate FROM T WHERE RowNumber = 1
GO

DROP TABLE Test
GO
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927476
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, гы, а у меня и мой вариант работает :)

Ну да фиг с ним, с инсертами, запрос-то понятен?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927481
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, версия sql 2012 express
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927483
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, посмотрел исправленное, все заработало спасибо
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927485
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, зачем вы на меня наезжаете?? не нравится не помогайте, именно от вас ничего не надо
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927487
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes, форум для этого и создан чтобы просить совет, не так ли? наверное если бы я знал ответ не писал бы
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927498
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111skyANA, посмотрел исправленное, все заработало спасибоНе за что. Почитайте про Предложение OVER (Transact-SQL) .
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927534
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAdexter111skyANA, посмотрел исправленное, все заработало спасибоНе за что. Почитайте про Предложение OVER (Transact-SQL) .

Слабо замутить подобный запрос без диалекта?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927537
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, гы, а у меня и мой вариант работает :)

странно, какая версия MS SQL?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927539
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСлабо замутить подобный запрос без диалекта? максимальная дата с группировкой по нужным полям и джойн как подзапрос к основной таблице?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927543
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttСлабо замутить подобный запрос без диалекта? максимальная дата с группировкой по нужным полям и джойн как подзапрос к основной таблице?

не катит, при дублирующейся максимальной дате
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927551
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttне катит, при дублирующейся максимальной дате так ТС сам просил отобрать по максимальной дате. Две записи, так две записи. Впрочем, при желании, естественно, можно добавить поле ID
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927552
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttне катит, при дублирующейся максимальной дате так ТС сам просил отобрать по максимальной дате. Две записи, так две записи. Впрочем, при желании, естественно, можно добавить поле ID

join по max(date) и max(id)? хитро )) даже слишком.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927598
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...
Не за что. Почитайте про Предложение OVER (Transact-SQL) .

Слабо замутить подобный запрос без диалекта? Ты давай сразу напиши на каком стандарте :)
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927600
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAhVostt, гы, а у меня и мой вариант работает :)

странно, какая версия MS SQL?2008 R2
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927601
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, я вообще проверяю код, если уж выкладываю :)
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927602
dexter111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,

что то я поторопился с выводом о понятии)) что в коде значит WITH T
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927608
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dexter111, в MSDN, раз книжки не читаете: https://msdn.microsoft.com/ru-ru/library/ms175972(v=sql.110).aspx
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927615
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТы давай сразу напиши на каком стандарте :)

SQL-99 сойдёт :)
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927622
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA2008 R2

видать, 2014 не такой толерантный к данным.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927623
ЦБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAпропущено...
Не за что. Почитайте про Предложение OVER (Transact-SQL) .

Слабо замутить подобный запрос без диалекта? "турнир" по "подобному запросу" был 5ть лет назад :)
результаты тут - 8947782
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927632
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЦБ"турнир" по "подобному запросу" был 5ть лет назад :)
результаты тут - 8947782

это распространённая задача. но решать простые задачи почему-то предпочитают на диалектах, когда можно обойтись стандартом.
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927658
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЦБ"турнир" по "подобному запросу" был 5ть лет назад :)
результаты тут - 8947782

это распространённая задача. но решать простые задачи почему-то предпочитают на диалектах, когда можно обойтись стандартом.
Вообще-то windowed functions уже 12 лет как объявлены в стандарте ( SQL:2003 , если точнее - в ISO/IEC 9075-2:2003 - Information technology -- Database languages -- SQL -- Part 2: Foundation (SQL/Foundation) , глава 4.15.3). В MSSQL поддерживаются с 2005-й версии. В оракле по синтаксису реализованы абсолютно аналогично ( пример ). И чем, спрашивается, использовании возможности, которая часть стандарта, и которая ясно и наглядно показывает, что мы собираемся делать, лучше простынь кода в доисторическом стандарте SQL-99?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927670
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttShocker.Proпропущено...
максимальная дата с группировкой по нужным полям и джойн как подзапрос к основной таблице?

не катит, при дублирующейся максимальной дате outer apply ?
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927821
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныВообще-то windowed functions уже 12 лет как объявлены в стандарте ( SQL:2003 , если точнее - в ISO/IEC 9075-2:2003 - Information technology -- Database languages -- SQL -- Part 2: Foundation (SQL/Foundation) , глава 4.15.3). В MSSQL поддерживаются с 2005-й версии. В оракле по синтаксису реализованы абсолютно аналогично ( пример ). И чем, спрашивается, использовании возможности, которая часть стандарта, и которая ясно и наглядно показывает, что мы собираемся делать, лучше простынь кода в доисторическом стандарте SQL-99?

Убедил. В твоём мире ток MS SQL 2005 и Оракал существуют? Ну ладно ))
...
Рейтинг: 0 / 0
Как правильно сделать выборку
    #38927829
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кouter apply ?

не понял
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как правильно сделать выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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