首页 > 解决方案 > Mysql,如何选择具有较低值的行并将它们放入数组中?

问题描述

我有一张看起来像这样的桌子

videoid | amount | amount2
aaaa      1000        0    
bbbb      1001        0
cccc      1001      1001
dddd      1001       999

如何选择'amount2'等于或大于'amount'的videoid并将它们放入数组中,如果没有这样的行,则仅将一个预定义文本放入数组中

标签: mysqlsqldatabase

解决方案


使用UNION两个查询之一。一个查询返回满足条件的所有行,如果没有满足条件的行,另一个查询返回指定的行。

SELECT *
FROM video_table
WHERE amount2 >= amount

UNION 

SELECT *
FROM video_table
WHERE NOT EXISTS (SELECT * FROM video_table WHERE amount2 > amount)
AND videoid = "eeee"

推荐阅读