Сравнение идентификаторов и выбор большего значения

Мне нужна ваша помощь в HANA SAP. Я пытаюсь сравнить даты в разных строках, например:

ID~~~~~~|~~~ NAME~~~|~DATE ~~ |   STEP
--------+-----------+---------+-----------
132~~~~~|~~TEST~~~| 01.01.2001| CREATED
132~~~~~|~~TEST~~~| 05.01.2001| SOLVED
154~~~~~|~~Other~~| 06.01.2001| CREATED
175~~~~~|~~Card~~~| 08.01.2001| CREATED
175~~~~~|~~ Card~~| 09.01.2001| SOLVED

Итак, моя проблема в том, что я хочу выбрать строку с более высокой датой в HANA SAP, но я не знаю, как я могу это сделать. Сначала я должен сравнить идентификаторы и выбрать идентификаторы, которые являются двойными или более, а затем выбрать идентификатор с более высокой датой.

Буду признателен за вашу помощь.

С наилучшими пожеланиями


person A. Pawa    schedule 19.10.2016    source источник
comment
удалите неиспользуемый тег db ..   -  person scaisEdge    schedule 19.10.2016


Ответы (2)


Это должно работать, еще не проверено

SELECT MAX(DATE) FROM table1 GROUP BY id HAVING COUNT(*) > 1

person Zaid Yasyaf    schedule 19.10.2016
comment
Да, это работает, но я не могу добавить другие столбцы после оператора SELECT, например: SELECT MAX (DATE), ID, STEP, NAME FROM table1 GROUP BY TID HAVING COUNT (*) › 1; - person A. Pawa; 19.10.2016
comment
Теперь я понимаю, почему это не работает, но мне все еще нужно отфильтровать другие идентификаторы, которые являются двойными. - person A. Pawa; 19.10.2016
comment
Рад, если это помогло :) Вы можете отметить это как ответ - person Zaid Yasyaf; 19.10.2016
comment
я думаю, что это должно охватывать все повторяющиеся идентификаторы - person Zaid Yasyaf; 19.10.2016
comment
В моей таблице я должен показать все столбцы: SELECT ID, TOPICNAME, SUMMARY, CREATEDWHEN, STEPNAME, MAX (DATE), STEPNAME FROM Table1 GROUP BY TID, TOPICNAME, SUMMARY, CREATEDWHEN, STEPNAME HAVING COUNT (*) › 1; И в таблице все еще есть двойные идентификаторы, поэтому, например, есть две строки, и они показывают разные даты, и одна из них выше другой. Вместе с датой также есть отметка времени, например: 20.09.2016 18:37:51.0. - person A. Pawa; 19.10.2016
comment
я думаю, это потому, что ваши столбцы GROUP BY пытаются использовать только TID - person Zaid Yasyaf; 19.10.2016
comment
Если я использую только TID, всегда возникает ошибка: не выражение GROUP BY: «Table.TOPICNAME» должно быть в предложении group by .: строка 1 столбец 13 (в позиции 12) - person A. Pawa; 20.10.2016
comment
все еще не работал? возможно, я могу вам помочь, пришлите вашу структуру и данные таблицы на мою электронную почту, [email protected] - person Zaid Yasyaf; 21.10.2016

Вы хотите использовать функцию GREATEST: http://www.w3resource.com/mysql/comparision-functions-and-operators/greatest-function.php

person mohammedkhan    schedule 19.10.2016