У меня есть эти Данные в моей tmp таблице. Как я могу получить последний (=newest) набор данных, где все 4 различных stockplaces находятся в наборе. (Набор должен быть только 4 строками),
Здесь f.e. все с 20.12.2018, но я не хочу использовать дату в запросе, поскольку дата является переменной.
Как я могу сделать это?Спасибо
-- ----------------------------
-- Table structure for `OMENtmp`
-- ----------------------------
DROP TABLE IF EXISTS `OMENtmp`;
CREATE TABLE `OMENtmp` (
`id2` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) NOT NULL DEFAULT '0',
`stockplace` varchar(250) CHARACTER SET latin1 DEFAULT NULL,
`MCCSIDate` date DEFAULT NULL,
PRIMARY KEY (`id2`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of OMENtmp
-- ----------------------------
INSERT INTO `OMENtmp` VALUES ('1', '1825711', '%', '2018-12-21');
INSERT INTO `OMENtmp` VALUES ('2', '1824590', 'HK+TW+AX+KS+T', '2018-12-21');
INSERT INTO `OMENtmp` VALUES ('3', '1825710', '%', '2018-12-20');
INSERT INTO `OMENtmp` VALUES ('4', '1825136', 'DE+VI+PA+AS+BR+MC+MI+L+VX', '2018-12-20');
INSERT INTO `OMENtmp` VALUES ('5', '1824589', 'HK+TW+AX+KS+T', '2018-12-20');
INSERT INTO `OMENtmp` VALUES ('6', '1824039', 'US', '2018-12-20');
INSERT INTO `OMENtmp` VALUES ('7', '1825709', '%', '2018-12-19');
INSERT INTO `OMENtmp` VALUES ('8', '1825135', 'DE+VI+PA+AS+BR+MC+MI+L+VX', '2018-12-19');
INSERT INTO `OMENtmp` VALUES ('9', '1824588', 'HK+TW+AX+KS+T', '2018-12-19');
INSERT INTO `OMENtmp` VALUES ('10', '1824038', 'US', '2018-12-19');
Я сделал это:
SELECT x.* from OMENtmp x join (select k.*,count(k.id2) as cc from OMENtmp k group by k.MCCSIDATE) p on p.MCCSIDate = x.MCCSIDAte where p.cc = 4 order by MCCSIDAte desc limit 4 ;
Это - правильный ответ, возможно, это могло быть легче!