Проблема MySQL: Как получить новейшее 4er группа этих данных

У меня есть эти Данные в моей 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');         
0
задан 21 December 2018 в 12:10

1 ответ

Я сделал это:

    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 ;

Это - правильный ответ, возможно, это могло быть легче!

0
ответ дан 26 October 2019 в 19:18

Другие вопросы по тегам:

Похожие вопросы: