我想使用GROUP BY而不删除重复项。我的表看起来像这样:
+----+-----+-----+
|user|guess|score|
+----+-----+-----+
|abc |12345|5 |
|def |67890|8 |
|ghi |11121|5 |
|jkl |31415|13 |
|mno |16171|4 |
|pqr |81920|13 |
+----+-----+-----+
每当我做SELECT user, score FROM guesses GROUP BY score
时,我都明白了:
+----+-----+
|user|score|
+----+-----+
|mno |4 |
|abc |5 |
|def |8 |
|jkl |13 |
+----+-----+
我想要这个(下面),其中重复项按字母顺序排列。
+----+-----+
|user|score|
+----+-----+
|mno |4 |
|abc |5 |
|ghi |5 |
|def |8 |
|jkl |13 |
|pqr |13 |
+----+-----+
我正在使用猜测进行高分系统,但如果删除重复数据则不公平。
你认为它可能与PHP解析它的方式有关吗?我正在使用phpMyAdmin,所以应该显示正确的输出......
答案 0 :(得分:5)
答案 1 :(得分:1)
在我看来,你假装的是订购它们,而不是团体。在这种情况下,您的查询可以是以下内容:
SELECT user, score FROM guesses ORDER BY score ASC
注意ORDER BY score ASC
表示从较小的分数到较大的分数,就像您在所需的输出中显示它们一样。
答案 2 :(得分:1)
按指定列按组分组。
您想要的是简单地订购所有记录,重复或不重复。
SELECT user, score FROM guesses order by score asc