以下是来自 SQL Server 的查询:
SELECT * FROM ITEM WHERE item.name = hank
If @@ROWCOUNT < 20 THEN
UNION
SELECT * FROM ITEM WHERE item.name = jim
ENDIF
这在 MySQL 中可能吗?
最佳答案
如果我理解正确,那么您不需要 union
。一种选择是将 order by
与 limit
一起使用:
select *
from item
where name in ('hank','jim')
order by name
limit 20
这将从 item
表中选择 20 行,从 name = 'hank'
的行开始。您还可以考虑使用:
order by case when name = 'hank' then 0 else 1 end
limit 20
- Condensed Fiddle Demo (更改限制即可查看)
关于MYSQL if @@ROWCOUNT UNION 选择另一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34227913/