如何基于另一列的值SQL在查询中选择创建/添加列?
技术问答
456 人阅读
|
0 人回复
|
2023-09-14
|
我想hook_name根据条件通过SQL选择查询动态添加另一列。
: r! m7 m3 w' M" F! \, l例如,如果hook_type = 0,表hook_name的值应为OFFER,对于hook_type =1,类似的表hook_name应显示“ ACCEPT”。
: g! A0 Q. @1 O) q以下是屏幕截图的结果:
9 e2 k; Z1 f0 C+ H6 {
" s2 U ^ B. z( I( A6 r, }! l查询的选择如下:6 P( N3 B4 V4 T1 _# z$ ?
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;提前致谢。8 m7 {4 i$ J+ y" f2 e8 i- Q
# h# M" b+ Q" Q/ p 解决方案: 9 Q ?- b- z" c9 Z
使用标准的SQL CASE:! c$ K. @! J, f( C8 R# Z1 C
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 |
|
|
|
|
|