mysql - 将多行合并为一行

标签 mysql group-by

请帮忙

id username date   place_type sangat mode mode_name mode_arrival satsang_taken

1  homm 2016-08-01  C          1500   SK     AKY     08:32:00       VHJ
2  homm 2016-08-03  C          1220   SK     AKY     07:30:00       ABC
3  plk  2016-08-12  C          1508   SK     AKJ     08:10:00       ABb

要求的结果

 username date   place_type sangat mode mode_name mode_arrival satsang_taken   date   place_type sangat mode mode_name mode_arrival satsang_taken 
   homm   2016-08-01  C      1500   SK     AKY     08:32:00       VHJ       2016-08-03  C          1220   SK     AKY     07:30:00       ABC
   plk  2016-08-12    C        1508   SK   AKJ     08:10:00       ABb 

基本上,任何用户最多可以有行,因此所有行都应该在同一行中。

SELECT o.*, o1.* FROM maindb o INNER JOIN maindb o1 ON o.username = o1.username AND o.date!=o1.date

这样基本上做不好

最佳答案

试试这个

SELECT o.*, o1.* FROM maindb o LEFT JOIN maindb o1 ON o.username = o1.username AND o.date!=o1.date where o.id = (select min(id) from maindb o2 where o2.username = o.username)

关于mysql - 将多行合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41141890/

相关文章:

mysql - 如何找到我的根 MySQL 密码?

sql - 查询返回的行太少

php - 从php到ajax的返回值成功和错误

mysql - SQL:创建 Home & Away 查询

mysql - 普通列后跟聚合函数但不在分组依据中

MySQL 分组依据和位置

mysql - SQL:如何在 JOIN 中向列名添加前缀?

r - 在 dplyr 中使用 group_by() 添加基线/总计

mysql - 是否有两个数据库字段同时被使用?

python - Pandas 数据框 : aggregate values within blocks of repeating IDs