我有一个相当复杂的问题(至少对我而言)
我有以下表结构
| id | roomtype | roomno | feature
| 1 | STDK | 11 | BT
| 2 | STDK | 11 | AE
| 3 | STDK | 22 | SMK
| 4 | STDK | 22 | BT
| 5 | STDT | 33 | NONSMK
我希望得到像这样的输出
Type: STDK - RoomNo: 11 - Features: BT, AE
Type: STDK - RoomNo: 22 - Features: SMK, BT
Type: STDT - RoomNo: 33 - Features: NONSMK
这可能不是那么复杂但我无法得到它......
答案 0 :(得分:5)
这显示了您正在寻找的结果......但我不喜欢在查询中格式化结果的想法!
select
concat("Type: ", roomtype,
" - RoomNo: ", roomno,
" - Features: ", group_concat(feature order by feature separator ', '))
as result
from t1
group by roomtype, roomno
这是一个有效的example
答案 1 :(得分:3)
你可以使用MySQL的group_concat
:
select roomtype, roomno, group_concat(feature order by feature separator ', ')
from your_table
group by roomtype, roomno
order by roomno
从中生成完全格式化的输出作为练习。
答案 2 :(得分:0)
SELECT
roomtype AS Type,
roomno AS RoomNo,
GROUP_CONCAT(feature ORDER BY feature SEPARATOR ', ') AS Features
FROM
tableName
GROUP BY roomtype, roomno
ORDER BY roomno