Mam małą tabelę MySQL (MySQL w wersji 5.6.23):MySQL wiersz podzapytanie porównanie problem
+-----------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------------+------+-----+---------+----------------+
| id | int(6) unsigned | NO | PRI | NULL | auto_increment |
| dividends | float(8,6) | YES | | NULL | |
+-----------+-----------------+------+-----+---------+----------------+
My gdzie klauzula następująca składnię row-subqueries.
Jeśli zrobić:
SELECT id, dividends FROM test
where (id,dividends) >= (660,0.5);
lub
SELECT id, dividends FROM test
where (id,dividends) >= (660,CAST(0.5 AS DECIMAL(8,6)));
uzyskać ten wynik:
+-----+-----------+
| id | dividends |
+-----+-----------+
| 660 | 0.500000 |
| 661 | 0.470000 |
| 662 | 0.470000 |
| 663 | 0.470000 |
| 664 | 2.580000 |
| 665 | 2.581000 |
...
Wydaje mi się, że dywidendy> = 0,5 nie jest brana pod uwagę. Czemu?
Oznacza to, że moje zapytanie zwróci wszystkie wiersze (bez filtrowania), które są po punkcie znalezionym w 2.? – Bruckwald
@Bruckwald: Tak (w tym sam punkt). – eggyal
Dziwne. Nie tego się spodziewałem po przeczytaniu dokumentacji mysql. Ale wielkie dzięki za wyjaśnienie! – Bruckwald