mysql - 功能类似于 GROUP_CONCAT(支持排序)但只返回 1 个结果?或者喜欢 MAX 但有顺序?

标签 mysql greatest-n-per-group

有没有类似GROUP_CONCAT的函数,支持ORDER BY,但只返回1个结果?

例如,我想做这样的事情:

GROUP_CONCAT(x ORDER BY y LIMIT 1)

MINMAX 对我不起作用,因为我按 y 而不是 x 排序.


Edit2: 找到了另一种编写涉及子查询的查询的方法。许多表被连接了两次,一次用于条件(在子查询中),一次用于获取要显示的值,因为我无法将它们从子查询中拉出。

最佳答案

刚刚找到了一种方法来做我想做的事,但它不是很好:

SUBSTRING_INDEX(GROUP_CONCAT(x ORDER BY y),',',1)

这假设 x 中没有其他逗号。

关于mysql - 功能类似于 GROUP_CONCAT(支持排序)但只返回 1 个结果?或者喜欢 MAX 但有顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7351909/

相关文章:

php - 在 CodeIgniter 中处理大量的半相关表单

mysql - lat long 范围内的 SQL lat longs

mysql - 获得每家商店销量最高的产品 - 不断获得错误的产品但数量正确

mysql - 如何预测MySQL的临界点?

Mysql 将两行合并为一列

mysql查询。需要帮助

python - 使用 group by 获取 n 个最小值但有重复项

mysql - SQL 仅选择列上具有最大值的行

sql选择多行的最早日期

mysql - MySQL Group By 对多列的奇怪行为