c_id c_name
10001 沙
10001 石
10001 煤
10002 沙
10002 水
10002 盐查询如何写查询条件 显示结果如下 表名goods10001 沙 石 煤
10002 沙 水 盐请大大赐教
10001 沙
10001 石
10001 煤
10002 沙
10002 水
10002 盐查询如何写查询条件 显示结果如下 表名goods10001 沙 石 煤
10002 沙 水 盐请大大赐教
MAX(IF(CEILING(id MOD 3)=1,c_name,'')) AS name1,
MAX(IF(CEILING(id MOD 3)=2,c_name,'')) AS name2,
MAX(IF(CEILING(id MOD 3)=0,c_name,'')) AS name3
FROM ttyy a
GROUP BY a.c_id 自己修改一下字段嘛,注意加入自增字段ID
+-------+--------+
| c_id | c_name |
+-------+--------+
| 10001 | 沙 |
| 10001 | 石 |
| 10001 | 煤 |
| 10002 | 沙 |
| 10002 | 水 |
| 10002 | 盐 |
+-------+--------+
6 rows in set (0.00 sec)mysql> select c_id,
-> SUBSTRING_INDEX(k,',',1) as name1,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',2),',',-1) as name2,
-> SUBSTRING_INDEX(SUBSTRING_INDEX(k,',',3),',',-1) as name3
-> from (
-> select c_id,group_concat(c_name) as k
-> from t_dawenwen1128
-> group by c_id
-> ) t ;
+-------+-------+-------+-------+
| c_id | name1 | name2 | name3 |
+-------+-------+-------+-------+
| 10001 | 沙 | 石 | 煤 |
| 10002 | 沙 | 水 | 盐 |
+-------+-------+-------+-------+
2 rows in set (0.08 sec)mysql>