java - 根据主键从选择查询中分离输出结果

标签 java mysql

我正在尝试使用以下 mySql 语句获取行:

+-----------------+
| text   | b_id   |
+-----------------|
|  a     |    1   |                                                                                                                                                                             
|  b     |    1   |                                                                                                                                                               
|  c     |    1   |                                                                                                                                                                              
|  e     |    2   | 
|  f     |    2   |

我想获取以下格式的数据:

 +---------------+
 | b_id  | Text  |
 +-------+-------+
 |  1    | a,b,c |
 |  2    | e,f   |

我正在使用如下所示的 java/mysql api,但它会一个一个地给我任何 b_id 的结果,如何根据我的要求将其隔离,任何提示都会有用。

 Connection conn = new SqlServiceImpl().getConnection("hostName/dbName?",
        "user", "pwd", "");
  String query =
        "select desc.text,desc.b_id from desc,(select b_id,short_desc from bids where product_id=999) as bi where bi.b_id= desc.bug_id LIMIT 50;";
  Statement st = conn.createStatement();
  ResultSet rs = st.executeQuery(query);

 while (rs.next())
  {
     int id = rs.getInt("b_id");
     String firstName = rs.getString("text");
     System.out.format("%s, %s\n", id, firstName);
  }

最佳答案

简单查询:

SELECT b_id, GROUP_CONCAT(text SEPARATOR ',') as text FROM test1 GROUP BY b_id

关于java - 根据主键从选择查询中分离输出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41302457/

相关文章:

java - 执行器端点返回 "circuitBreakers": {"status" :"UNKNOWN"} despite management. health.circuitbreakers.enabled: true

java - JMeter 中 Java 和 HTTP Client 4 实现的发送字节和连接时间的差异

PHP 准备语句 - 回显值

MySQL INSERT IGNORE SELECT 奇怪的行为

mysql - 使用 PuTTY 和命令行客户端在 MySQL Select 中呈现 Chinese/UTF 8 字符

java - SyncAdapter 不考虑主线程设置的静态变量

java - Tomcat 服务器在添加 GET 和 POST 时退出工作

php - 需要 PHP 中重复/循环的帮助

Java:在不改变其类型的情况下乘以泛型数字

mysql - 查询太多?游戏服务器