|
|
|
| Добрый день, товарищи.
Сегодня столкнулся с интересной задачкой. Решить я её не смог, но очень интересно, как можно это сделать. Может быть вы мне подскажите.
Итак, есть таблица:
==================================
date | texta | textb
==================================
10.01.05 | a2 | b2
09.02.04 | a3 | b3
11.04.02 | a4 | b4
22.11.03 | a5 | b5
Нужно одним запросом (без использования временных таблиц и переменных) вывести четырехстолбцовую таблицу, в первом столбце которой должен быть выведен порядковый номер строки при сортировке по дате. Остальная часть таблицы должна остаться неизменной.
==============================================
num | date | texta | textb
==============================================
4 | 10.01.05 | a2 | b2
3 | 09.02.04 | a3 | b3
1 | 11.04.02 | a4 | b4
2 | 22.11.03 | a5 | b5
Есть идеи? | |
|
|
|
|
|
|
|
для: sigix
(24.07.2013 в 20:40)
| | Вот я только по нумерации в ответе догадался, что дата указана в формате dd.mm.yy, а не наоборот. А сервер это по вашему откуда должен понять? Особенно, учитывая что формат даты в MySQL YYYY-mm-dd. Вот в таком формате все будет работать как надо:
SELECT count(*)num, t1.*
FROM tbl t1
JOIN tbl t2 ON t1.date >= t2.date
GROUP BY t1.date, t1.texta, t1.textb
ORDER BY num
|
| |
|
|
|