Php Mysql:如何在不丢失组中的单个行的情况下对组进行排序
我在phpmyadmin上,我有以下数据:Php Mysql:如何在不丢失组中的单个行的情况下对组进行排序,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我在phpmyadmin上,我有以下数据: query url score a www.google.com 3 a www.facebook.com 2 a www.google.com 1 我想按其域对条目进行“分组”,然后按每个组的最高分数对域组进行排序(desc)(评论中的一些人发现这句话更清楚:“按每个组的最高分数排序desc”),因此我得到: query url score a www.google.com 3 a www.google.com 1 a www.
query url score
a www.google.com 3
a www.facebook.com 2
a www.google.com 1
我想按其域对条目进行“分组”,然后按每个组的最高分数对域组进行排序(desc)(评论中的一些人发现这句话更清楚:“按每个组的最高分数排序desc”),因此我得到:
query url score
a www.google.com 3
a www.google.com 1
a www.facebook.com 2
尝试:按分数说明从表顺序中选择*,url asc不起作用。它给出(无明显变化):
我显然没有把我的问题说清楚。如果你能看到我在哪里可以说得更清楚,请告诉我
作为参考,我在这里重新提出了这个问题,它有一个公认的答案:如果我理解,您希望var1先作为asc订购,然后由var2作为desc订购 那么这个呢:
SELECT * FROM table ORDER BY var1 ASC, var2 DESC;
根据您的预期输出,您根本不需要分组,只需要一个多列
orderby
子句:
选择*
从mytable
由var1 ASC、var2 DESC订购
删除分组依据?…如果不想分组,则要排序。(GROUP BY将符合分组标准的多个记录压缩为一个记录-绝对不是您想要的。)无论如何,为什么您需要该组,松开它,您就可以这样做这不是GROUP BY
的工作方式,您可能需要两个排序,请尝试使用select*from table order BY var1 asc,var2 desc
(将首先按var1排序,然后按var2排序)大家好。我已经通过问题更新来显示当我尝试双顺序时会发生什么。它不按var1分组。我已经添加了我正在使用phpmyadmin,这相关吗?嘿Mureinik。我已经通过问题更新来显示当我尝试双顺序时会发生什么。它不按var1分组。不确定可能出了什么问题,对eve来说似乎很明显ryone你的建议应该有效。我还补充说我使用的是phpmyadmin,不确定这是否相关。@scon你能再次编辑你的问题并添加一些样本数据和你试图得到的结果吗?如果没有它,恐怕你的编辑不能真正解释问题。如果仍然不清楚,请告诉我。你可以吗请添加更多条目/行..嘿,adrainosmateus,正如其他地方所指出的:我已经更新了您建议的解决方案的问题。这对我不起作用。不确定我在phpmyadmin上的事实是否与。。
SELECT * FROM table ORDER BY var1 ASC, var2 DESC;