mysql - Mysql,如何选择具有较低值的行并将它们放入数组中?
问题描述
我有一张看起来像这样的桌子
videoid | amount | amount2
aaaa 1000 0
bbbb 1001 0
cccc 1001 1001
dddd 1001 999
如何选择'amount2'等于或大于'amount'的videoid并将它们放入数组中,如果没有这样的行,则仅将一个预定义文本放入数组中
解决方案
使用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"
推荐阅读
- oauth - 在微服务之间传递用户身份和授权
- powershell - PowerShell5 index[0] 到字符串的第一个实例, index[1] 到第二个实例,依此类推,直到在 6800 行 windows10 批处理文件上完成
- python - 在 Juypyter Notebook 中将 PySpark 数据框显示为 HTML 表
- sql - 将列值转换为列名 SQL server
- python - 在 for 循环中生成复选框并将响应存储在列表中
- google-sheets - Google 表格 IF THIS AND ELSE OR
- qt - QT5.9中如何设置SslConfiguration?
- node.js - 使用 pm2 或在 docker 容器中运行 nodejs 应用程序?
- typescript - 我可以打开一些设置来使 typedoc 推断类型以及 VS 代码吗?
- .net - .Net Core 组合多个 PNG