我在 MySQL 表中有一个项目列表,每个项目都有一个组号和唯一的项目号。
我正在尝试选择符合 2 个标准的记录。
首先,我需要选择满足组和项目编号的记录。如果没有找到我想要选择的记录只属于一个组。
无论哪种方式,都只需要选择一个记录。
我在 MySQL 表中有一个项目列表,每个项目都有一个组号和唯一的项目号。
我正在尝试选择符合 2 个标准的记录。
首先,我需要选择满足组和项目编号的记录。如果没有找到我想要选择的记录只属于一个组。
无论哪种方式,都只需要选择一个记录。
SELECT *
FROM YourTable
WHERE GroupID = :group
ORDER BY ItemID = :item DESC
LIMIT 1
LIMIT 1
使它只返回一条记录。该ORDER BY
子句使其更喜欢与项目条件匹配的记录(如果有)。
尝试这个
这行不通
Select * From MyTable
Where (GroupID = 1 and ItemID = 2) or (GroupID = 1)
这行得通
IF EXISTS (SELECT 1 FROM MyTable WHERE GroupID = 1 AND ItemID = 2)
BEGIN
SELECT TOP 1 * FROM MyTable WHERE GroupID = 1 AND ItemID = 2
END
ELSE
BEGIN
SELECT TOP 1 * FROM MyTable WHERE GroupID = 1
END