如何在sql中将null和number的最大值设置为null?
问题描述:
考虑有两列值的样本SQL插入表中作为如何在sql中将null和number的最大值设置为null?
INSERT INTO `over_all` (`team_number`, `day_1`) VALUES
('J091', '01:00:00'),
('J091', '01:02:00');
INSERT INTO `over_all` (`team_number`, `day_1`) VALUES
('J092', 'null'),
('J092', '02:02:00');
现在,当我使用
SELECT `over_all`.`team_number`,
max(`over_all`.`day_1`) as 'maximum'
FROM `over_all`
GROUP BY `over_all`.`team_number`
ORDER BY 'maximum'
问:
我想这回的最大J092 as null。
数据库中使用
Server版本:25年1月10日,MariaDB的 - mariadb.org二进制分发
答
您可以通过使用CASE WHEN ... THEN ... ELSE ... END
做到这一点:
SELECT team_number,
case when max(day_1 is null) = 0 then max(day_1) else null end as maximum
FROM over_all
GROUP BY team_number
ORDER BY maximum
您不能在WHERE或GROUP BY中使用别名。 –
你的问题不清楚你的意思是“我希望这个返回J092的最大值为null”。 ?以表格形式显示预期结果 – scaisEdge