我在页面上放了一个ajax排序按钮。我想以最高价格对住宿对象进行分类,但我有另一张价格表,因为每个单位的日期价格范围不同。 这是我的住宿表
CREATE TABLE IF NOT EXISTS `Accomodation` (
`SmjestajID` int(11) NOT NULL AUTO_INCREMENT,
`SmjestajNaziv` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
`SmjestajTip` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`SmjestajKategorija` varchar(1) COLLATE utf8_unicode_ci NOT NULL,
`SmjestajAdresa` text COLLATE utf8_unicode_ci NOT NULL
PRIMARY KEY (`SmjestajID`)
)
这是我的价格表
CREATE TABLE IF NOT EXISTS `Price` (
`SmjestajCjenikID` int(11) NOT NULL AUTO_INCREMENT,
`SmjestajCjenikRazdoblje` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`SmjestajCjenikCijena` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
`SmjestajID` int(10) NOT NULL,
PRIMARY KEY (`SmjestajCjenikID`)
)
通过这个查询,我可以按最高价格对住宿对象进行分类,但只有插入价格的住宿对象,那些仍然没有插入价格的物品,它们应该放在最后最便宜。
SELECT DISTINCT Accomodation.*, max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER))
FROM Accomodation
INNER JOIN Price ON Accomodation.SmjestajID = Price.SmjestajCjenikSmjestaj
GROUP BY Price.SmjestajCjenikSmjestaj
ORDER BY max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) DESC
答案 0 :(得分:0)
您想使用HAVING
子句。
SELECT DISTINCT Accomodation.*, max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER))
FROM Accomodation
INNER JOIN Price ON Accomodation.SmjestajID = Price.SmjestajCjenikSmjestaj
GROUP BY Price.SmjestajCjenikSmjestaj
ORDER BY max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) DESC
HAVING Price.SmjestajCjenikCijena > 0