2014-02-03 3 views
0

У меня есть база данных, полная заказов на машины. При изменении заказа на станцию ​​изменяется уровень ревизии, начиная с 0,1,2,.......Использование функции Max с datagridview

MySql утверждения, что у меня есть ребята:

"SELECT reference as ""Reference"", serial_number as ""Serial Number"", revision as ""Revision"", Model as ""Model"" FROM `configurator`.`final_order` WHERE shipped = '0' GROUP by serial_number" 

Я также пробовал:

"SELECT reference as ""Reference"", serial_number as ""Serial Number"", MAX(revision) as ""Revision"", Model as ""Model"" FROM `configurator`.`final_order` WHERE shipped = '0' GROUP by serial_number" 

Это только дает мне максимальную ревизию для этого серийного номера, но возвращает все данные из первых запись, а не последняя запись в редакции.

В моей базе данных есть сотни записей, и я хочу заполнить datagridview всеми позициями, сгруппированными по серийному номеру, но только показать серийный номер с самой высокой версией. Я надеюсь в этом есть смысл.

Любая помощь была бы принята с благодарностью.

Спасибо

ответ

0

Я не уверен, чтобы понять, что вы хотите, но, возможно, с этим:

SELECT reference as ""Reference"", serial_number as ""Serial Number"", revision as ""Revision"", Model as ""Model"" 
FROM configurator.final_order 
WHERE revision = MAX(revision) AND shipped = '0' 
GROUP by serial_number 
+0

Я получил сообщение об ошибке с вышеуказанным заявлением. Упомянутое «недопустимое использование групповой функции». Я хочу показать все результаты, которые не были отправлены, но при этом могут быть повторяющиеся записи, имеющие один и тот же серийный номер машины. Разница между повторяющимися записями будет номером ревизии. Я хочу только вытащить записи с самым высоким номером ревизии для каждого серийного номера машины. Надеюсь, это поможет объяснить, что я пытаюсь сделать. – user3266996

+0

Неплохо, просто добавьте все поля в предложение select в группе следующим образом: 'GROUP by reference, revision, serial_number, Model' – HLG13

Смежные вопросы