SELECT
p.price,
h.name AS hotel_name
FROM
prices p
LEFT JOIN hotels h ON p.hotel_id = h.id
WHERE
p.city = 'boedapest'
AND p.hotel_id IS NOT NULL
GROUP BY p.name
ORDER BY p.price ASC
結果:
26埃本酒店布達佩斯
27個船級社
28宜必思布達佩斯英雄廣場
29特色:Hunguest Hotel Griff酒店
30酒店托馬斯
31 NH布達佩斯
31魯賓健康會議酒店
32本庫茲酒店
33大西洋
33 Delibab酒店布達佩斯奇怪的MySQL GROUP BY/ORDER BY行爲
完全一樣與GROUP BY結果註釋:
24 Gerand Hotel Ventura酒店
25特色:Hunguest酒店懸鈴木
26大道城市賓館
26的Tulip Inn千年布達佩斯
26埃本酒店布達佩斯
27個船級社
27巴洛斯
28酒店托馬斯
28酒店特色:Hunguest格里夫
28宜必思布達佩斯英雄廣場
基本上我想按名稱組,但保留ORDER BY。由於24小於26,我預計它會在26之前出現。請記住,我只顯示前10個結果,以保持帖子的簡短。
我使用的是:SELECT VERSION() - > 5.1.37
如果你沒有使用任何聚合函數,你爲什麼使用'GROUP BY'? – 2010-01-13 05:40:48
所以我可以GROUP_CONCAT價格。例如: GROUP_CONCAT(CONCAT(transport,'||',price,'||',p.url)SEPARATOR'(|)')AS價格 爲了簡單起見,我省略了GROUP_CONCAT。 – 2010-01-13 05:50:29