具有多个数字的MySQL DB显示为行

Pri*_*muS 0 mysql sql

我有一个相当复杂的问题(对我来说至少)

我有以下表格结构

| id | roomtype | roomno | feature
| 1  |    STDK  |   11   |  BT
| 2  |    STDK  |   11   |  AE
| 3  |    STDK  |   22   |  SMK
| 4  |    STDK  |   22   |  BT
| 5  |    STDT  |   33   |  NONSMK
Run Code Online (Sandbox Code Playgroud)

我希望有这样的输出

Type: STDK - RoomNo: 11 - Features: BT, AE
Type: STDK - RoomNo: 22 - Features: SMK, BT
Type: STDT - RoomNo: 33 - Features: NONSMK
Run Code Online (Sandbox Code Playgroud)

它可能不是那么复杂,但我无法得到它......

Mos*_*cho 5

这显示了您正在寻找的结果......但我不喜欢在查询中格式化结果的想法!

select
    concat("Type: ", roomtype,
    " - RoomNo: ", roomno,
    " - Features: ", group_concat(feature order by feature separator ', '))
    as result
from t1
group by roomtype, roomno
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子

  • +1不喜欢SQL中所有格式化的想法,并教我关于sqlize.com (2认同)