如何为SQLite查询添加文本前缀并调整结果格式?
解决SQLite查询结果添加文本前缀并格式化的问题
嘿,这个需求很明确,我来给你两种常见场景的解决方案,你可以根据自己表的结构来选:
场景1:四个值是同一行的四个列
如果你的table1里这四个值是同一行的四个字段(比如列名是col1、col2、col3、col4),直接用SQLite的字符串拼接运算符||就能搞定:
SELECT 'a=' || col1 || ' b=' || col2 || ' c=' || col3 || ' d=' || col4 AS formatted_result FROM table1;
原理很简单:用||把前缀文本和对应列的值逐个拼接,最后用AS给结果列起个好读的名字,执行后就能得到a=1 b=2 c=3 d=4这样的输出。
场景2:四个值是四行的单个列
如果这四个值是table1里同一列的四行数据(比如列名是value),那需要先给每行编号,再对应前缀,最后把结果拼接起来:
SELECT GROUP_CONCAT( CASE row_number() OVER (ORDER BY value) WHEN 1 THEN 'a=' || value WHEN 2 THEN 'b=' || value WHEN 3 THEN 'c=' || value WHEN 4 THEN 'd=' || value END, ' ' ) AS formatted_result FROM table1;
这里的关键点:
row_number() OVER (ORDER BY value):给每行数据按value排序后编号(如果不需要按value排序,换成你需要的排序字段就行)CASE语句:给第1到4行分别匹配a=到d=的前缀GROUP_CONCAT(..., ' '):把所有带前缀的结果用空格连接成一个字符串
小提示
记得把上面代码里的col1、col2或者value换成你表中实际的列名哦!
内容的提问来源于stack exchange,提问作者Qmine
相关产品推荐
相关产品推荐

