如何基于另一列的值SQL在查询中选择创建/添加列?
技术问答
455 人阅读
|
0 人回复
|
2023-09-14
|
我想hook_name根据条件通过SQL选择查询动态添加另一列。
/ H* }/ T) O- C: m例如,如果hook_type = 0,表hook_name的值应为OFFER,对于hook_type =1,类似的表hook_name应显示“ ACCEPT”。* E* Z Z! B2 n4 L) m9 @0 A
以下是屏幕截图的结果:
: e+ j# p. R8 V A( H* E2 {
/ ^( H5 }7 |& d# S0 p5 k查询的选择如下:' a% p2 u( x3 J& @' ?7 P
select hook_type,'hook name' as hook_name, count(*) as number_of_exchange_activities from `exchange` group by hook_type # hook_type 0 for OFFER,1 for ACCEPT and 2 for offer EXPIRED;提前致谢。
! g* N& D- ^% S' x" c* @6 e% q5 D
$ P( E1 b3 z( x0 Q) o' J E4 F 解决方案: - H% p' `! G0 F' X6 ^# l3 \
使用标准的SQL CASE:: b: y0 R- S1 f' }( D4 P6 L U Y
SELECT hook_type, CASE hook_type WHEN 0 THEN 'OFFER WHEN 1 THEN 'ACCEPT WHEN 2 THEN 'EXPIRED' END AS hook_name, COUNT(*) AS number_of_exchange_activities FROM `exchange` GROUP BY hook_type |
|
|
|
|
|