выбор идентификатора и количества (идентификатора) из таблицы в mysql

Я пытаюсь сделать систему фотоальбомов в php и mysql. У меня есть этот код для списка всех фотоальбомов:

SELECT  albums.*, count(pictures.id) AS countpic 
FROM albums
LEFT JOIN pictures ON (albums.id=pictures.album_id)
GROUP BY albums.id 
ORDER BY albums.date DESC");

Я хочу перечислить название фотоальбомов с миниатюрами фотографий (thumb_id si написано в изображениях таблицы), а также с количеством всех изображений, назначенных каждому альбому.

Разве вы не знаете, как выбрать thumb_id, а также количество всех изображений в альбоме с помощью одного выбора?

Спасибо


person Bajlo    schedule 27.09.2010    source источник


Ответы (2)


Делает ли добавление group_concat(pictures.thumb_id) в список выбора то, что вам нужно?

person Martin Smith    schedule 27.09.2010
comment
спасибо .. это нормально, когда я хочу использовать случайное изображение для миниатюры альбома .. но что, если я хочу выбрать конкретное изображение? (например, изображение с условием: picture.is_thumb='1') - person Bajlo; 27.09.2010
comment
@Bajlo - см. Ответ ceteras для этого. В противном случае вы можете обновить свой вопрос образцом желаемого результата. - person Martin Smith; 27.09.2010

Это будет работать, если для каждого альбома есть одно изображение с is_thumb=1.

SELECT
  albums.*, 
  count(pictures.id) AS countpic,
  group_concat(pictures.thumb_id) ids,
  group_concat(case when picture.is_thumb then pictures.thumb_id else '' end separator '') thumb
FROM albums
LEFT JOIN pictures ON (albums.id=pictures.album_id)
GROUP BY albums.id 
ORDER BY albums.date DESC");
person ceteras    schedule 27.09.2010