Здравствуйте, EVery Я новичок в SQl. чтобы получить следующие записи.Выберите отдельную запись, фильтрация не работает
У меня есть таблица с записями в
c1 c2 c3 c4 c5 c6
1 John 2.3.2010 12:09:54 4 7 99
2 mike 2.3.2010 13:09:59 8 6 88
3 ahmad 2.3.2010 13:09:59 1 9 19
4 Jim 23.3.2010 16:35:14 4 5 99
5 run 23.3.2010 12:09:54 3 8 12
Я хочу fecth только записи. i.e всего 1 последняя запись в день. Если оба они происходят в то же время, сортировать по C1.so в 1 & 3 он должен принести 3.
3 ahmad 2.3.2010 14:09:59 1 9 19
4 Jim 23.3.2010 16:35:14 4 5 99
У меня новая проблема в этом. Если я фильтрую записи, основываясь на условиях отсутствия последней записи. Я пробовал много способов, но все же он терпит неудачу. Здесь update_log - моя таблица.
SELECT * FROM update_log t1
WHERE (t1.c3) =
(
SELECT MAX(t2.c3)
FROM update_log t2
WHERE DATEDIFF(dd,t2.c3, t1.c3) = 0
)
and t1.c3 > '02.03.2010' and t1.modified_at <= '22.03.2010'
ORDER BY t1.c3 ASC. Но я не в состоянии восстановить запись
4 Jim 23.3.2010 16:35:14 4 5 99
Я не знаю, что это результаты запроса только в
3 ahmad 2.3.2010 14:09:59 1 9 19
Формат c3 столбца является DateTime. Я перекачиваю данные в колонку как с использованием $date = date("d.m.Y H:i",time());
- простой выбор даты сегодня.
Другой запрос, который я пробовал для этой же цели.
select * from (select convert(varchar(10), c3,104) as date, max(c3) as max_date, max(c1) as Nr from update_log group by convert(varchar(10), c3,104)) as t2 inner join update_log as t1 on (t2.max_date = t1.c3 and convert(varchar(10), c3,104) = date and t1.[c1]= Nr) WHERE t1.c3 >= '02.03.2010' and t1.c3 <= '16.04.2010'
. Я даже попробовал эту way..the ту же ошибку последняя запись не приходит ..
Где находится столбец Modified_at в вашей таблице? – codingbadger