MySQL:如何根据结果集中的条件仅返回一行

标签 mysql

我有下表:

id | group | value 
1  |   1   |   10
2  |   1   |   20
3  |   1   |   30
4  |   0   |   20
5  |   0   |   20
6  |   0   |   10

我想将组为 1 (=30) 的最大值和组为 0 的所有值返回到一个结果集中。

我必须在一个语句中执行此操作,我想我应该在 SELECT 语句中使用 IF 语句,但我不知道如何做。谁能帮我指明正确的方向?

最佳答案

(select max(value) from the_table where group = 1)
union
(select value from the_table where group = 0)

关于MySQL:如何根据结果集中的条件仅返回一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417545/

相关文章:

php - 将mysql数据库与Android应用程序连接

MySQL IF 以数字开头做 X,否则做 Y

mysql - 将变量重置为 0

mysql - 为什么 MySQL 多列索引会过载?

javascript - PHP - 获取数据时 Ajax 自动刷新页面

mysql - 如何判断字符串 'word4'的元素 'word1;word2;word3;word4'是否在字符串 'word4' ,'word5' ,'word6' ,'word7'中?

mysql - 自定义快速验证器

php - 预计会从 mysql 获取所有行,但会获取第一个行

mysql - 如何从 mysql 导出 4.5 GB 表?

mysql - 如何转储从特定日期开始的 MySQL 数据