#sql #oracle #date #duplicates
#sql #Oracle #Дата #дубликаты
Вопрос:
У меня есть следующий набор данных:
ClassName | Dates | ClassID
----------------
ClassA | 21-Jun-16 | 1238
ClassA | 27-Jun-16 | 1238
ClassB | 14-Apr-11 | 1252
ClassB | 14-Apr-11 | 1252
ClassC | 26-Oct-15 | 1261
ClassC | 21-Oct-15 | 1261
Для каждой группы className или ClassID я хочу использовать разницу дат.
Выходные данные должны иметь следующий формат-
ClassName | Days | ClassID
----------------
ClassA | 5 | 1238
ClassB | 0 | 1252
ClassC | 4 | 1261
Пожалуйста, предложите!
Спасибо!
Комментарии:
1. Пожалуйста, пометьте свой вопрос базой данных, которую вы используете.
2. Который
DBMS
вы используете. Также это всегда будет две записи наClass
3. Да, это всегда будет две записи на класс
Ответ №1:
В большинстве баз данных вы можете сделать что-то вроде этого:
select ClassName, ClassId,
max(date) - min(date) as days
from t
group by ClassName, ClassId;
Однако логика вычитания дат может отличаться в разных базах данных.