Mysql 在phpmyadmin和SQL FIDLE上执行时,相同SELECT查询的不同结果

Mysql 在phpmyadmin和SQL FIDLE上执行时,相同SELECT查询的不同结果,mysql,phpmyadmin,Mysql,Phpmyadmin,我编写了一个查询,在一个MySQL表中获取所有国家的最新税收。在phpmyadmin(localhost)和sqlfiddle中执行相同的查询。两种结果都不同。但是SQL不能产生正确的结果 我可以在早些时候的Stack Overflow上找到相同的问题 我没有从邮局得到任何帮助。我的问题是如何在phpmyadmin(localhost)上获得我在下面编写的SELECT查询的正确结果;我的SELECT查询有问题吗 选择查询:(我在Phpmyadmin和sqlfiddle上执行) 表格 SELECT

我编写了一个查询,在一个MySQL表中获取所有国家的最新税收。在phpmyadmin(localhost)sqlfiddle中执行相同的查询。两种结果都不同。但是SQL不能产生正确的结果

我可以在早些时候的Stack Overflow上找到相同的问题

我没有从邮局得到任何帮助。我的问题是如何在phpmyadmin(localhost)上获得我在下面编写的
SELECT
查询的正确结果;我的
SELECT
查询有问题吗

选择查询:(我在Phpmyadmin和sqlfiddle上执行)

表格

SELECT 
  t1.id, t1.country, 
  t1.tax, t1.created_by, 
  t1.created_on, t1.modified_by, t1.modified_on 
FROM tax t1 
INNER JOIN 
(
   SELECT country, MAX(created_on) AS latest 
   FROM tax GROUP BY country
) t4 ON t1.created_on=t4.latest AND t1.country=t4.country;
+-------------+--------------+------+-----+-------------------+-----------------
------------+

| Field       | Type         | Null | Key | Default           | Extra
            |

+-------------+--------------+------+-----+-------------------+-----------------
------------+

| id          | int(11)      | NO   | PRI | NULL              | auto_increment
            |

| country     | int(11)      | NO   |     | NULL              |
            |

| tax         | decimal(8,5) | NO   |     | NULL              |
            |

| created_by  | int(11)      | NO   |     | NULL              |
            |

| created_on  | timestamp    | NO   |     | CURRENT_TIMESTAMP |
            |

| modified_by | int(11)      | YES  |     | NULL              |
            |

| modified_on | timestamp    | YES  |     | NULL              | on update CURREN
T_TIMESTAMP |

+-------------+--------------+------+-----+-------------------+-----------------
------------+
CREATE TABLE tax ( id int(11) NOT NULL AUTO_INCREMENT, country int(11) NOT NULL, tax decimal(8,5) NOT NULL, created_by int(11) NOT NULL, created_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, modified_by int(11) DEFAULT NULL, modified_on timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) );

INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,7,51,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,7,51,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,7,49,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,7,50,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,7,48,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (6,9.45450,51,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (3,8.88900,49,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (2,9.08989,49,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (2,4.00087,49,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,1.88900,49,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (4,5.54656,51,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (5,7.45435,50,'2015-06-26 16:26:20');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,43.88776,46,'2015-06-26 17:30:18');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (2,5.67,46,'2015-06-26 17:39:12');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (12,0.009,46,'2015-06-26 17:48:35');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (11,3,46,'2015-06-26 17:55:14');
INSERT INTO tax(country, tax, created_by, created_on) VALUES (1,5,46,'2015-06-26 17:55:39');
创建表查询:(我在SQL FIDLE中尝试过)

请找到

在phpmyadmin(本地主机)中生成的结果


查看此链接以查看错误日志中的内容

这是非常错误的,因为这些结果根本没有意义


还可以查看简单的select语句是否正常工作。

得到不同结果的明显原因是使用了不同的源数据。在phpmyadmin的示例输出中,与sql fiddle一起使用的数据集中没有两行。你是对的?现在我得到了两个相同的结果@jpw可以帮助我编写查询,以获得每个
国家的所有最新
税务
,而不重复?这不是查询的功能吗?@jpw它是。如果您在phpmyadmin(本地主机)中生成的
结果中看到
country
列,则表Id 3和5重复。我只想要每个
国家的最新
税务
+----+---------+---------+------------+---------------------+-------------+-----
--------+

| id | country | tax     | created_by | created_on          | modified_by | modi
fied_on |

+----+---------+---------+------------+---------------------+-------------+-----
--------+

|  3 |       3 | 7.00000 |         49 | 2015-06-26 16:26:20 |        NULL | NULL
        |

|  5 |       5 | 7.00000 |         48 | 2015-06-26 16:26:20 |        NULL | NULL
        |

|  6 |       6 | 9.45450 |         51 | 2015-06-26 16:26:20 |        NULL | NULL
        |

|  7 |       3 | 8.88900 |         49 | 2015-06-26 16:26:20 |        NULL | NULL
        |

| 11 |       4 | 5.54656 |         51 | 2015-06-26 16:26:20 |        NULL | NULL
        |

| 12 |       5 | 7.45435 |         50 | 2015-06-26 16:26:20 |        NULL | NULL
        |

| 14 |       2 | 5.67000 |         46 | 2015-06-26 17:39:12 |        NULL | NULL
        |

| 15 |      12 | 0.00900 |         46 | 2015-06-26 17:48:35 |        NULL | NULL
        |

| 16 |      11 | 3.00000 |         46 | 2015-06-26 17:55:14 |        NULL | NULL
        |

| 17 |       1 | 5.00000 |         46 | 2015-06-26 17:55:39 |        NULL | NULL
        |

+----+---------+---------+------------+---------------------+-------------+-----
--------+