X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как будет правильно задать вопрос базе?
Licoric
Licoric
Topic Starter сообщение 29.7.2009, 16:25; Ответить: Licoric
Сообщение #1


Есть таблица. Одно из полей - date=timestamp
формат даты: 2009-07-11 07:09:24
Как правильно сделать запрос, если мне нужны все новости за определенный промежуток времени (граница в месяцах).
что-то в духе будет "select * from news where author=$author and date=2007-$m-*" ?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 29.7.2009, 19:12; Ответить: Ворон
Сообщение #2


вот вам новости за июнь:

select * from news
where date between date_format('2009-06-01', '%Y-%m-%d') and last_day('2009-06-01')


rtfm
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 29.7.2009, 19:33; Ответить: Apay
Сообщение #3


правильней будет
select * from news where year(date)=2009 and month(date)=6
если писать
select * from news
where date between date_format('2009-06-01', '%Y-%m-%d') and last_day('2009-06-01')
то последний день (2009-06-30) оказывается в пролете
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 29.7.2009, 20:26; Ответить: Ворон
Сообщение #4


(Apay @ 29.7.2009, 22:33) *
то последний день (2009-06-30) оказывается в пролете

lol
прежде чем делать такие утверждения проверяйте их

(Apay @ 29.7.2009, 22:33) *
правильней будет

как индексировать будете? или как обычно пофиг? :D
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 29.7.2009, 20:29; Ответить: Licoric
Сообщение #5


Спасибо, разобрался.
Вопрос:
date_format('2009-06-01', '%Y-%m-%d')
Тут числовую дату можно же по идее любую указывать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 29.7.2009, 20:32; Ответить: Ворон
Сообщение #6


указывать ту дату от которой начнется отсчет ваших новостей. если указывать первое число, то с первого, десятое - с десятого. для второго же параметра не имеет значение день (главное чтобы он "попал" в месяц, чтобы не было 31 для февраля. поэтому берется первое)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 29.7.2009, 20:36; Ответить: Apay
Сообщение #7


(Ворон @ 29.7.2009, 23:26) *
lol прежде чем делать такие утверждения проверяйте их
прежде чем написать я естесственно проверил

added
можно было бы написать что-то вроде
select * from news  where date between '2009-06-01'  and '2009-07-01'


т.к. при last_day последний день оказывается в пролете, предположу что если не указывать время, добавляется '00:00:00'
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ворон
Ворон
сообщение 29.7.2009, 21:02; Ответить: Ворон
Сообщение #8


(Apay @ 29.7.2009, 23:36) *
select * from news where date between '2009-06-01' and '2009-07-01'

этот вариант действительно будет лучше.
правда, следует избегать преобразований по-умолчанию, поэтому лучше писать:
select * from news
where date between date_format('2009-06-01', '%Y-%m-%d') and date_format('2009-07-01', '%Y-%m-%d')
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
Topic Starter сообщение 30.7.2009, 5:58; Ответить: Licoric
Сообщение #9


Эм... так что делать в итоге? Какой запрос?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 30.7.2009, 8:45; Ответить: Apay
Сообщение #10


то что написал Ворон последним
select * from news
where date between date_format('2009-06-01', '%Y-%m-%d') and date_format('2009-07-01', '%Y-%m-%d')
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1117 26.3.2024, 14:13
автор: knezevolk
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
12 uahomka 2286 25.3.2024, 6:52
автор: Skyworker
Открытая тема (нет новых ответов) Как отозвать банковский платеж фрилансеру?
28 metvekot 3912 25.3.2024, 6:34
автор: Skyworker
Открытая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
23 freeax 3636 24.3.2024, 20:55
автор: Liudmila
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1929 23.3.2024, 7:41
автор: Room


 



RSS Текстовая версия Сейчас: 28.3.2024, 19:47
Дизайн