在MySQL中更改分组的顺序

在MySQL中更改分组的顺序,mysql,Mysql,通过这个查询,我得到了一组数据 SELECT UID, CouncilNam, Probabilit, Scored_Lab, PTC_ID FROM london.london 我想分组的PTC_ID和评分_实验室,我可以做这个 SELECT UID, CouncilNam, Probabilit, Scored_Lab, PTC_ID FROM london.london GROUP BY PTC_ID, Scored_Lab 但是,在初始查询中,有多行具有分组计分的\u Lab和PTC

通过这个查询,我得到了一组数据

SELECT UID, CouncilNam, Probabilit, Scored_Lab, PTC_ID
FROM london.london
我想分组的PTC_ID和评分_实验室,我可以做这个

SELECT UID, CouncilNam, Probabilit, Scored_Lab, PTC_ID
FROM london.london
GROUP BY PTC_ID, Scored_Lab
但是,在初始查询中,有多行具有分组计分的\u Lab和PTC\u ID,但概率值不同。我想要此集合中的最低值,但group by中的默认选择不提供此值


我在这里读过几十个类似的问题,但仍然无法解决。任何帮助都将不胜感激。

如果我没有看错您的问题,您正在寻找以下线索:

SELECT
    PTC_UD,
    Scored_Lab,
    MIN(Probabilit)    -- take the smallest probability in each group
FROM london.london
GROUP BY PTC_ID, Scored_Lab
请注意,选择UID和CouncilNam列可能无效,或者可能没有意义,因为您没有在查询中将它们指定为组的聚合

以下是一个常规查询,可用于获取每个概率最小组的完整匹配行:

SELECT t1.*
FROM london.london t1
INNER JOIN
(
    SELECT PTC_UD, Scored_Lab, MIN(Probabilit) AS p_min
    FROM london.london
    GROUP BY PTC_ID, Scored_Lab
) t2
    ON t1.PTC_UD     = t2.PTC_UD     AND
       t1.Scored_Lab = t2.Scored_Lab AND
       t1.Probabilit = t2.p_min

只需执行minProbabilit?我想要此集合中的最低值,但group by中的默认选择不提供此值。-组中没有默认选择。您的查询不是有效的SQL。可以使用获取每列的最小值,但如果要获取包含最小值的整行,则路径错误;GROUP BY无法执行此操作。Select语句无效SQL-无法选择不属于分组的列。MySQL在配置时会容忍此错误,但您将从组中的随机记录中获取这些列的值。“我想要这组中最低的”-然后简单地用另一种方法。谢谢你的回答。我想我可能已经用这个解决了