|
автор: Глинтвейн (19.09.2006 в 14:58) |
|
| Есть таблица, в ней три поля. Стоит задача отфильтровать по одному, сгруппировать по другому, и отсортировать по третьему. С сортировкой возникла проблема. То есть, банальный запрос:
SELECT * FROM tbl
WHERE field1=’1’
GROUP BY field2
ORDER BY field3 DESC
Судя по тому, что возвращает запрос, он сначала, группирует, а потом сортирует исходя из результатов группировки. По крайней мере, наивысшие поля field3 не возвращает. Как можно это обойти? | |
|
|
|
|
|
|
|
для: Глинтвейн
(19.09.2006 в 14:58)
| | MySQL какой версии испольльзуется? Можно использовать вложенные запросы? | |
|
|
|
|
автор: Глинтвейн (19.09.2006 в 16:28) |
|
|
для: cheops
(19.09.2006 в 15:38)
| | 4.1 стоит. | |
|
|
|
|
автор: Глинтвейн (19.09.2006 в 16:30) |
|
|
для: cheops
(19.09.2006 в 15:38)
| | Судя по книжке "Полная поддержка вложенных запросов". Пойду разбираться... | |
|
|
|
|
|
|
|
для: Глинтвейн
(19.09.2006 в 16:30)
| | Используйте вложенный запрос вместо таблицы
SELECT * FROM (SELECT * FROM tbl WHERE field1=’1’ ORDER BY field3 DESC)
GROUP BY field2
ORDER BY field3 DESC
|
| |
|
|
|