我有一个名为myTable的表,它看起来像:
restid | menu | prod | price
__________________________________________
10 | m1 | prod1 | 15
10 | m1 | prod2 | 21
10 | m2 | prod3 | 36
10 | m2 | prod4 | 45
10 | m3 | prod5 | 12
10 | m3 | prod6 | 5
我希望将结果分组并显示如下:
m1
_________________________________________
prod1 | 15
prod2 | 21
_________________________________________
m2
_________________________________________
prod3 | 36
prod4 | 45
_________________________________________
m3
_________________________________________
prod5 | 12
prod6 | 5
我已经使用group_concat
对它们进行了分组SELECT DISTINCT `menu`, GROUP_CONCAT( DISTINCT `prod`
ORDER BY `prod` ) AS prod_list
FROM `myTable` WHERE restid = '10'
GROUP BY `menu`
ORDER BY `menu`
然后使用php正确显示它......
但我希望在结果中加入价格。我一直在寻找答案,但是找到了任何想法。
如果有人能给我一些可以用来实现这一结果的解决方案,我会很高兴。
答案 0 :(得分:-1)
您只需在选择列表中添加价格列即可。这样的事情: -
SELECT DISTINCT `menu`, GROUP_CONCAT( DISTINCT `prod`
ORDER BY `prod` ) AS prod_list, `price`
FROM `myTable` WHERE restid = '10'
GROUP BY `menu`,`price`
ORDER BY `menu`;