mysql select 参数_如何使用SELECT语句作为MySQL IF()函数的参数?

可以将SELECT语句用作MySQLIF()函数的第一个参数。为了使其理解,请考虑“学生”表中的以下数据。mysql> Select * from Students;

+----+-----------+-----------+----------+----------------+

| id | Name      | Country   | Language | Course         |

+----+-----------+-----------+----------+----------------+

| 1  | Francis   | UK        | English  | Literature     |

| 2  | Rick      | USA       | English  | History        |

| 3  | Correy    | USA       | English  | Computers      |

| 4  | Shane     | France    | French   | Computers      |

| 5  | Validimir | Russia    | Russian  | Computers      |

| 6  | Steve     | Australia | English  | Geoinformatics |

| 7  | Rahul     | India     | Hindi    | Yoga           |

| 8  | Harshit   | India     | Hindi    | Computers      |

| 9  | Harry     | NZ        | English  | Electronics    |

+----+-----------+-----------+----------+----------------+

9 rows in set (0.00 sec)

现在以下查询将在IF()函数中使用SELECT语句mysql> Select ID, IF((Select COUNT(*) FROM Students WHERE Language = 'English')>(Select COUNT(*) from Students WHERE Language <> 'English'),(CONCAT("Name is ", Name)),(CONCAT("Course is ", Course))) AS 'Name/Course' from Students;

+----+-------------------+

| ID | Name/Course       |

+----+-------------------+

| 1  | Name is Francis   |

| 2  | Name is Rick      |

| 3  | Name is Correy    |

| 4  | Name is Shane     |

| 5  | Name is Validimir |

| 6  | Name is Steve     |

| 7  | Name is Rahul     |

| 8  | Name is Harshit   |

| 9  | Name is Harry     |

+----+-------------------+

9 rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值