mysql IN和其他选项

时间:2013-03-13 19:44:49

标签: mysql

嗨,我需要帮助查询。 我想找到带产品的N行

我的查询是:

 Select ...... WHERE
    s.id_prod = 2 AND s.sn IN(100,20) 
    LIMIT 3

但是现在我有3个产品,但其中一个没有sn。 如何结果3行?

 s.sn IN(100,20 ,*)

什么取代'*'它会起作用? 如果我有100个产品,只有2个有se(uniqe)我必须有3行(使用sn 100和20以及其他任何第3行

1 个答案:

答案 0 :(得分:0)

SELECT ...
FROM ...
WHERE s.id_prod = 2
ORDER BY s.sn IN(100,20) DESC
LIMIT 3

这个想法是,s.sn IN(100,20)的评估结果为1或0,具体取决于财产是否成立。在该属性上按降序排序将列出顶部的记录,因为该属性保留。