camka
не самка
Нестабильный запрос
Собственно запрос:
select case image.title when '' then image.filename else image.title end as title,
image.id as image_id,
user.login,
user.id as user_id,
max(image.createdate),
DATE_FORMAT(max(image.createdate),'%d-%m-%Y')as createdate
from image
inner join album
on album.id=image.album_id
inner join user
on user.id=album.user_id
where album.private=0
group by user.id
order by 5
desc limit 12
Служит для выбора по одной последней закачанной картинке для каждого пользователя, вернее 12-ти последних закачаных картинок.
Проблема: Дата последней картинки выбирается правильно, однако ID картинки не обязательно является именно той картинкой, дата которой отображается, а может быть ID любой другой (закономерность не выявлена) картинки того же пользователя и не обязательно из того же альбома.
Вопрос: Собственно почему вообще отрабатывает подобный запрос и не выдает ошибки еще при парсинге, ведь отсутствует группировка по полю image.id да и вообще какой-либо связи между максимальной датой и id картинки нету?
Решение: на данный момент решил задачу слегка кривым, но для меня работающим способом, заменив в выбираемых полях поле image.id на max(image.id), поскольку у последней картинки всегда наибольший id.
Собственно запрос:
select case image.title when '' then image.filename else image.title end as title,
image.id as image_id,
user.login,
user.id as user_id,
max(image.createdate),
DATE_FORMAT(max(image.createdate),'%d-%m-%Y')as createdate
from image
inner join album
on album.id=image.album_id
inner join user
on user.id=album.user_id
where album.private=0
group by user.id
order by 5
desc limit 12
Служит для выбора по одной последней закачанной картинке для каждого пользователя, вернее 12-ти последних закачаных картинок.
Проблема: Дата последней картинки выбирается правильно, однако ID картинки не обязательно является именно той картинкой, дата которой отображается, а может быть ID любой другой (закономерность не выявлена) картинки того же пользователя и не обязательно из того же альбома.
Вопрос: Собственно почему вообще отрабатывает подобный запрос и не выдает ошибки еще при парсинге, ведь отсутствует группировка по полю image.id да и вообще какой-либо связи между максимальной датой и id картинки нету?
Решение: на данный момент решил задачу слегка кривым, но для меня работающим способом, заменив в выбираемых полях поле image.id на max(image.id), поскольку у последней картинки всегда наибольший id.