在同一个查询中,Mysql结果在晚上和晚上都不同
我有一个奇怪的错误第一次seing这样的结果可能别人也发现了如何跨越这种奇怪的错误 我有这样一个表结构:在同一个查询中,Mysql结果在晚上和晚上都不同,mysql,Mysql,我有一个奇怪的错误第一次seing这样的结果可能别人也发现了如何跨越这种奇怪的错误 我有这样一个表结构: |id|uid|test1|test2|rid| 1 1 - - 1 2 1 - - 1 3 2 - - 2 4 2 - - 2 5 3 - - 3 6 3 - - 3 7 4 - - 4 8
|id|uid|test1|test2|rid|
1 1 - - 1
2 1 - - 1
3 2 - - 2
4 2 - - 2
5 3 - - 3
6 3 - - 3
7 4 - - 4
8 4 - - 4
----------------------------
作为“-”是varchar数据,所有其他列都是整数
我的查询结果很奇怪,如下所示:
SELECT COUNT(uid) AS COUNT,
id AS ID,
uid AS InqID,
test1 AS A,
test2 AS B
FROM test_table
WHERE rid = (X)
GROUP BY uid
ORDER BY id DESC
我得到的结果是 如果(X)=1或3,则显示正确的最后一个id号(1为2个id,3为6个id) 但是如果(X)是2或4,它会显示第一行id号(3 id代表2而不是4,7 id代表4而不是8) 有人能告诉我为什么我只在rid中以单数形式得到正确的结果,而不是在rid列的偶数形式得到正确的结果,或者至少这个查询是如何工作的吗 提前感谢大家请使用MAX(id)而不是订购者
SELECT COUNT(uid) AS COUNT, MAX(id) AS ID, uid AS InqID, test1 AS A, test2 AS B
FROM test_table
WHERE rid = (X)
GROUP BY uid
为了正确使用
group by
一个已禁用函数中未包含的所有字段都应位于group by
上,在mysql中,您可以使用此sintaxis,但返回的行是随机的。@Juan Carlos Oropeza感谢您的更正和响应。即使在这种情况下工作,也要小心可能出现的重复,一个小的变化和数据可以打破它。