通过php脚本选择,并直接通过phpmyadmin=不同的输出进行选择
基本上我有两个用户拥有相同的分数。假设用户id为1分:通过php脚本选择,并直接通过phpmyadmin=不同的输出进行选择,php,mysql,Php,Mysql,基本上我有两个用户拥有相同的分数。假设用户id为1分:V.Rossi 46和用户id为1分:测试 在我的排名脚本中。。它们被禁用为: 1st. V.Rossi 46 (first place) -- > 1 point 2nd. testing (second place) -- > 1 point 3rd .... everyone else with 0 points or less. 排名脚本中的显示查询是按点描述选择/排序 我有另一个查询来选择该信息并将其放在另一个表中,问
V.Rossi 46
和用户id为1分:测试
在我的排名脚本中。。它们被禁用为:
1st. V.Rossi 46 (first place) -- > 1 point
2nd. testing (second place) -- > 1 point
3rd .... everyone else with 0 points or less.
排名脚本中的显示查询是按点描述选择/排序
我有另一个查询来选择该信息并将其放在另一个表中,问题是。。。
一旦脚本被执行,mysql似乎将测试作为第一位,我不知道这是为什么?这两个查询是相同的。仅显示一个最多25行,更新查询仅选择最上面的1行,如果需要,使用第二行的offset 1
,等等。。。
那么是什么原因导致以不同的方式拾取它们呢?
更新示例:
通过phpmyadmin执行查询:
从用户订单中选择用户id(按每日点数说明限制3)
通过对排名脚本执行相同的查询,我得到了相同的结果,但顺序不同。为什么呢?我可能发现了这个问题。这可能是我显示排名代码的原因吗
<?
$i = 1;
foreach($users as $user)
{
echo '
<div class="row">'.(
(($i == '1')?'<div class="num_1"></div>':'').
(($i == '2')?'<div class="num_2"></div>':'').
(($i == '3')?'<div class="num_3"></div>':'').
(($i > '3')?'<div class="num">'.$i.'</div>':'')
.....
除非指定一个ORDER BY
子句,否则MySQl不保证返回结果的顺序。即使您指定了一个,MySQL也不能保证排序值相同的顺序。在前面提到的两个查询中,desc points
都有order BY
。。。但在网站排名脚本中,第一和第二名的分数相同,它以一种方式显示,并且通过选择表格中的信息,它看起来是不同的。为什么这是我的问题,很抱歉,我不明白你的意思?