为什么我得到错误的结果集 mysql?

Why i get wrong result set mysql?

编辑注意!我知道它看起来令人困惑,但是 steveo
SELECT * 来自 orderId 的订单组的答案有 masterId = 29
帮助我,我只是不明白它是如何工作的

我不明白发生了什么,我只是得到了错误的结果 我有 table 个订单看起来不太像:

CREATE TABLE `orders` (
  `orderId` int NOT NULL AUTO_INCREMENT,
  `userId` int NOT NULL,
  `masterId` int NOT NULL,
  `serviceId` int NOT NULL,
  `startTime` datetime NOT NULL,
  `endTime` datetime NOT NULL,
  `timeSlotId` int DEFAULT NULL,
  `isApplied` tinyint(1) NOT NULL,
  `isDone` tinyint(1) NOT NULL,
  PRIMARY KEY (`orderId`),
  KEY `FK_user` (`userId`),
  KEY `FK_master` (`masterId`),
  KEY `FK_timeSlotOrder` (`timeSlotId`),
  CONSTRAINT `FK_master` FOREIGN KEY (`masterId`) REFERENCES `masters` (`masterId`) ON DELETE CASCADE,
  CONSTRAINT `FK_timeSlotOrder` FOREIGN KEY (`timeSlotId`) REFERENCES `time_slot` (`timeSlotId`) ON DELETE CASCADE,
  CONSTRAINT `FK_user` FOREIGN KEY (`userId`) REFERENCES `user_info` (`userId`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

现在我在 table 中有两行:

当我执行此 select 命令时,我得到了正确的结果集:

但是当我指定 master 的 id(按顺序 table 的 masterId 列)时,尽管应该有两个订单,但我只得到一个结果 我只是不明白为什么会这样 谢谢

试试这个:

SELECT *
FROM salon.orders
GROUP BY orderId
HAVING masterId = 29