那么,让我们假设下面的表中有它们各自的值:
create table player(
name varchar(255),
level int
);
INSERT INTO player values ('Fighter', 4);
INSERT INTO player values ('Archer', 2);
INSERT INTO player values ('Assassin', 6);我希望知道哪个级别低于更高的水平,没有球员。
在本例中,我希望得到结果:(1,3,5)。
我正在使用MYSQL,但是任何数据库查询解决方案都可以帮助我解决问题。
谢谢。
发布于 2014-04-24 22:14:44
当使用查询时,可以添加包含可能级别选项的表,其中1)检查是否存在具有相同级别的播放机记录;2)将结果限制在低于最高可能值的级别。
下面是一个例子。
CREATE TABLE levelOption (
level int not null primary key
);
INSERT INTO levelOption ( level )
VALUES ( 1 ), ( 2 ), ( 3 ), ( 4 ) , ( 5 ), ( 6 ), ( 7 );
SELECT level
FROM levelOption
WHERE NOT EXISTS (
SELECT *
FROM player
WHERE player.level = levelOption.level
)
AND level < ( SELECT MAX(level) FROM player )
ORDER BY level;注意,SELECT MAX子查询假定播放机表中至少有一条记录。
https://stackoverflow.com/questions/23280591
复制相似问题