Есть простая таблица с 4 полями: id(int), text(text), parent_id(int), date_x(timestamp) Отсортировать надо что бы было так:
id date
--- ----------------
1 2017-04-29 18:01:03
2 2016-03-28 18:01:03
3 2015-04-27 18:01:03
Что бы было понятно в таблице хранятся статьи/сообщения эти статьи можно комментировать, так вот свежая статья должна находится в верху списка, а свежий комментарий наоборот внизу Вот этот запрос не работает:
SELECT id, articles.text, parent_id, articles.date FROM articles ORDER BY articles.date, id DESC
Пытался еще объединить 2 запроса с помощью UNION к примеру если parent_id > 0(комментарий) то DESC и если parent = 0(статья) то ASC, но тоже безрезультатно
можно сортировать по дополнительному вычислимому столбцу.
для вашего случая подойдёт, например, числовое представление даты и времени, возвращаемое функцией unix_timestamp()
. и условие добавить — если значение такого-то столбца равно нулю, то возвращать отрицательное значение.
пример (дополнительный столбец — d2
):
SQL Fiddle
MySQL 5.6 Schema Setup:
create table t (p int, d date);
insert into t (p, d) values
(0, '2017-04-10')
, (0, '2017-04-20')
, (1, '2017-04-15')
, (2, '2017-04-16')
;
Query 1:
select p, d, if(p=0, -unix_timestamp(d), unix_timestamp(d)) d2 from t
order by d2
Results:
| p | d | d2 |
|---|-------------------------|-------------|
| 0 | April, 20 2017 00:00:00 | -1492646400 |
| 0 | April, 10 2017 00:00:00 | -1491782400 |
| 1 | April, 15 2017 00:00:00 | 1492214400 |
| 2 | April, 16 2017 00:00:00 | 1492300800 |
в принципе, можно обойтись даже и без столбца, указав нужное условие прямо в order by
:
SQL Fiddle
MySQL 5.6 Schema Setup:
create table t (p int, d date);
insert into t (p, d) values
(0, '2017-04-10')
, (0, '2017-04-20')
, (1, '2017-04-15')
, (2, '2017-04-16')
;
Query 1:
select * from t
order by if(p=0, -unix_timestamp(d), unix_timestamp(d))
Results:
| p | d |
|---|-------------------------|
| 0 | April, 20 2017 00:00:00 |
| 0 | April, 10 2017 00:00:00 |
| 1 | April, 15 2017 00:00:00 |
| 2 | April, 16 2017 00:00:00 |
У меня есть определенное количество файлов, которые нужно загрузить на устройствоВсе что нужно для загрузки из сети есть (Имею адрес файла)
Добрый деньУ меня есть строка, в ней расположено время ("10:00; 10:20, 09:40, и т
Томкат работает с огромным количеством файловОн открывает файл, берет всё его содержимое и записывает в String следующим образом: