CREATE TABLE `ma_soun` (
`ifns_kod` varchar(4) default NULL,
`ifns_vid` char(2) NOT NULL default '',
`ifns_kodp` varchar(4) NOT NULL default '',
`ifns_kodv` varchar(4) NOT NULL default '',
`ifns_naimk` varchar(255) NOT NULL default '',
`ifns_naim` text NOT NULL,
`ifns_psono` int(1) NOT NULL default '0',
`ifns_puch` int(1) NOT NULL default '0',
`ifns_potchdok` int(1) NOT NULL default '0',
`ifns_potch` int(1) default NULL,
`ifns_spro_u` varchar(5) NOT NULL default '',
`ifns_spro_f` varchar(5) NOT NULL default '',
`ifns_inn` varchar(10) NOT NULL default '',
`ifns_kpp` varchar(10) NOT NULL default '',
`ifns_adres` text NOT NULL,
`ifns_tel` varchar(30) NOT NULL default '',
`ifns_email` varchar(30) NOT NULL default '',
`ifns_cite` varchar(255) NOT NULL default '',
`ifns_dokum` text NOT NULL,
`ifns_nomdok` varchar(20) default NULL,
`ifns_datadok` int(11) default NULL,
`ifns_datan` varchar(20) default NULL,
`ifns_datak` varchar(20) default NULL,
`ifns_coment` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `ma_soun`
--
INSERT INTO `ma_soun` VALUES ('0000', '00', '', '', 'Госналогслужба России', 'Государственная налоговая служба Российской Федерации', 1, 1, 1, 1, '', '', '7707066312', '', ',103051,Москва г,,,,Неглинная ул,23,,', '200-38-48', '', '', 'Протокол совещания ГНС России', '', 886712400, '06.02.1998', '23.12.1998', 'Изменение кода');
INSERT INTO `ma_soun` VALUES ('0000', '00', '', '', 'МНС России', 'Министерство Российской Федерации по налогам и сборам', 1, 1, 1, 1, '', '', '7707066312', '', ',127381,Москва г,,,,Неглинная ул,23,,', '(095) 913-00-05', 'mns@nalog.ru', '', 'Указ Президента Российской Федерации', '1635', 914360400, '23.12.1998', '14.10.2004', '');
INSERT INTO `ma_soun` VALUES ('0000', '00', '', '', 'ФНС России', 'Федеральная налоговая служба', 1, 1, 1, 1, '', '', '7707329152', '770701001', ',127381,Москва г,,,,Неглинная ул,23,,', '(095) 913-00-05', 'mns@nalog.ru', '', 'Приказ ФНС России', 'САЭ-3-15/1@', 1097697600, '14.10.2004', '', '');
Смысл выборки заключается в том что бы выбрать единственную запись с кодом , но при этом дата записи должна быть наибольшей
Запрос такого типа
SELECT `ifns_kod`, `ifns_vid`,`ifns_kodp`,`ifns_kodv`,`ifns_naimk` , MAX(`ifns_datadok`) FROM `ma_soun`
GROUP BY `ifns_kod`
Работает неправильно
Сложность в том что коды ‘ifns_kod’ не уникальны, а должны стать в таблице уникальными по большей дате. То есть останутся те коды у которых ‘ifns_datadok’ самое большое.
Комментарий модератора:
Прежде чем задавать вопросы о неправильной работе запросов с группировкой, просьба ознакомиться со статьей Группировка в MySQL