извлечение последних записей с помощью ненулевых проверяющих значений из таблицы SQL
]Это руководство демонстрирует, как эффективно получить самые последние записи для каждой группы, фильтраруя для ненулевых проверок. Предположим, что таблица, структурированная так:
]group date cash checks
1 1/1/2013 0 0
2 1/1/2013 0 800
1 1/3/2013 0 700
3 1/1/2013 0 600
1 1/2/2013 0 400
3 1/5/2013 0 200
]
] Следующий подход SQL достигает этого:
] Сначала мы находим максимальную дату для каждой группы, где значение проверяет
больше Zero:
SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;
это дает:
group max_date
2 1/1/2013
1 1/3/2013
3 1/5/2013
]
Далее мы присоединяемся к этому результату обратно в исходную таблицу, чтобы получить соответствующее проверить
namous:
SELECT t.group, t.date AS max_date, t.checks
FROM table t
INNER JOIN (
SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group
) AS a ON a.group = t.group AND a.max_date = t.date;
]
этот последний запрос создает желаемый вывод:
]group max_date checks
2 1/1/2013 800
1 1/3/2013 700
3 1/5/2013 200
]
Важное примечание: Использование зарезервированных слов (например date
) как имена столбцов сильно обескуражены. Это может привести к ошибкам синтаксиса SQL и усложнить ваш код. Рассмотрим более описательные и однозначные имена для ваших столбцов.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3