【发布时间】:2015-02-13 01:14:55
【问题描述】:
我正在尝试编写一个 MySQL 查询,该查询基于对一组城市的 REGEXP 搜索返回一组随机行。
即...
SELECT * FROM master_rets_table
WHERE property_type = "Residential" and city REGEXP "(JUNO BEACH|palm beach gardens|jupiter|WEST PALM BEACH)" and listing_price > 200000 and listing_price < 500000
GROUP BY city
ORDER BY RAND()
好消息是,这确实为每个城市返回一个属性,但事实证明,我猜,GROUP BY 消除了查询的 RANdom 方面,因为它每次都给出相同的结果。
【问题讨论】:
-
不,您看到的
GROUP BY行为是因为MySQL 允许SELECT中的多个列不在GROUP BY中。您的查询会在几乎所有其他 RDBMS 中导致语法错误。您能否发布来自master_rets_table的行示例以及您希望获得的查询输出示例? -
你想做什么?
-
master_rets_table有300多个字段,贴出来不太实用。如果可能的话,我试图在一个查询中实现的是获取 4 个随机属性,每个城市在 REGEXP 条件中表示一个。