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(これらは「wall」が実際に= 1である「行」です)同様の問題に関するいくつかの投稿を読みましたが、それでも解決策が見つかりません

スキーマ

4

2 に答える 2

0

自分のサンプルデータを使用して、正しい結果を得ました。SQLFiddleに投稿されたすべてのものをローカルの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 に答える