Php 使用带有组_concat的查询循环值,但显示最低价格
我使用下面的查询获取所有结果,然后对它们进行分组。一切都很好。我现在有多行相同的数据,但价格不同 在所有其他数据相同的情况下,如何执行相同的查询,但仅获取价格最低的行。我花了很多时间,但一点快乐都没有。请帮忙Php 使用带有组_concat的查询循环值,但显示最低价格,php,mysql,Php,Mysql,我使用下面的查询获取所有结果,然后对它们进行分组。一切都很好。我现在有多行相同的数据,但价格不同 在所有其他数据相同的情况下,如何执行相同的查询,但仅获取价格最低的行。我花了很多时间,但一点快乐都没有。请帮忙 $results = $wpdb->get_results($wpdb->prepare(" SELECT *, group_concat(date,':',SUBSTRING_INDEX(flights,'|',2),':',price,':',board,'
$results = $wpdb->get_results($wpdb->prepare("
SELECT *,
group_concat(date,':',SUBSTRING_INDEX(flights,'|',2),':',price,':',board,':',$tablename.id separator ',') as itemx
FROM $tablename
WHERE post_type = 'product'
GROUP BY brochure
LIMIT 20
"));
大概你想要这样的东西:
SELECT t.*,
FROM $tablename t
WHERE t.post_type = 'product' AND
t.price = (SELECT MIN(t2.price)
FROM $tablename t2
WHERE t2.post_type = 'product' AND
t2.brochure = t.brochure
);
这至少是一个构造正确的查询,可以获得每个手册的最低价格。示例数据和所需结果会有所帮助
SELECT*
withgroupby
是一个失败的查询,在大多数数据库和较新版本的MySQL(使用默认选项)中都会失败。tks会给它一个机会