0

这是我的查询:

SELECT DISTINCT `row` FROM `parts` WHERE `wall` = '1' ORDER BY `row`

这是对查询的回答:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 

看起来如果语句 WHERE `wall` = '1' 被忽略,因为结果与我进行此类查询时相同

SELECT DISTINCT `row` FROM `parts` ORDER BY `row`

我希望第一个查询给我 1 3 4 9 19(这些是“墙”真的=1的“行”)我已经阅读了一些关于类似问题的帖子,但我仍然找不到解决方案

架构

4

2 回答 2

0

我使用了自己的样本数据并得到了正确的结果。我将发布在 SQL Fiddle 上的所有内容都复制到了我的本地 mysql 数据库中。并用 phpmyadmin 查询一切,一切正常。这是一个将数据插入数据库的 SQL 查询。

INSERT INTO `table` (`id`, `wall`, `row`, `place`, `long`, `proportion`, `shapeid`, `projid`, `quantity`, `rwall`, `rrow`, `rplace`, `status`, `barcode`, `position`) VALUES
(1, '1', 5, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(2, '10', 1, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(3, '1', 2, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(4, '3', 20, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(5, '1', 40, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(6, '2', 4, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(7, '1', 1, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(8, '5', 1, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(9, '1', 13, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', ''),
(10, '10', 13, 0, 0, '', 0, '', 0, NULL, NULL, NULL, 0, '', '');
于 2012-12-25T18:54:39.750 回答
-1

也许这有助于省略''。您查询的是字符串值而不是数值的区别。

于 2012-12-25T18:29:18.353 回答