Вы можете использовать объединение с подзапросом, сгруппированным по domestic_helper_id
с агрегированной функцией, например: max()
SELECT d.*
FROM domestic_helper_idcard d
inner join (
select domestic_helper_id, max(id) max_id
from domestic_helper_idcard
where is_deleted = 0
group by domestic_helper_id
) t on t.domestic_helper_id = d.domestic_helper_id and t.max_id = d.id
order by d.card_expiration_date desc
и в соответствии с предложением Йенса после уточнения с использованием max card_expiration_date
SELECT d.*
FROM domestic_helper_idcard d
inner join (
select domestic_helper_id, max(card_expiration_date) max_date
from domestic_helper_idcard
where is_deleted = 0
group by domestic_helper_id
) t on t.domestic_helper_id = d.domestic_helper_id and t.max_date = d.max_date
order by d.card_expiration_date desc
Я изучал это много в последнее время. Вашим лучшим является просто Tesseract. Если Вам нужен анализ топологии сверху OCR, чем идут с Ocropus (который в свою очередь использует Tesseract, чтобы сделать OCR). Анализ топологии относится к способности обнаружить положение текста на изображении и сделать вещи как сегментация строки, сегментация блока, и т.д.
Я нашел некоторые действительно хорошие советы посредством экспериментирования с Tesseract, которые стоит совместно использовать. В основном я должен был сделать большую предварительную обработку для изображения.
Если Вы имеете очень специализированный шрифт и идете с одним только tesseract, необходимо "Обучить" систему - в основном необходимо подать набор обучающих данных. Это хорошо документируется на сайте tesseract-ocr. Вы по существу создаете новый "язык" для своего шрифта и передаете его в с-l параметром.
Другой учебный механизм, который я нашел, был с Ocropus с помощью nueral сеть (bpnet) обучение. Это требует, чтобы много входных данных создало хорошую статистическую модель.
С точки зрения вызова Tesseract/Ocropus оба C++. Это не будет столь же просто как ReadLines (Изображение), но существует API, который можно проверить. Можно также вызвать через командную строку.
В то время как я не могу рекомендовать один, в частности, термином, который Вы ищете, является OCR (Оптическое распознавание символов).
Я думаю, что Вы хотите, Догадка. Используемый, чтобы быть libgocr проектом. Я не использовал его в течение нескольких лет, но это раньше было очень надежно при установке ключа.
Существует tesseract-ocr, которое является профессиональной библиотекой, чтобы сделать это.
Оттуда веб-сайт
Механизм OCR Tesseract был одним из лучших 3 механизмов в тесте Точности UNLV 1995 года. Между 1995 и 2006 это имело мало работы, сделанной на нем, но это - вероятно, один из самых точных доступных механизмов OCR с открытым исходным кодом