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