В видео таблице хранятся идентификационные и видеоданные.SQL COUNT с 2 INNER JOINS
Таблица тегов хранит идентификатор и имя_таблицы.
Таблица video_tag соединяет video_ids и tag_ids, чтобы представить, какое видео принадлежит тег.
Например, в запросе ниже, я могу получить видео, которые принадлежат теги с идентификаторами как 3 и 4
Кроме того, я хочу знать, сколько строк есть. Как мне изменить запрос?
SELECT *
FROM video
INNER JOIN video_tag ON video.id = video_tag.video_id
INNER JOIN tag ON tag.id = video_tag.tag_id
WHERE video_tag.tag_id IN (3,4)
GROUP BY video.id
HAVING COUNT(video.id)=2
ORDER BY video.id DESC
*
Таблица структуры:
--
-- Table structure for table `video`
--
CREATE TABLE IF NOT EXISTS `video` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`original_id` varchar(20) COLLATE utf8_turkish_ci NOT NULL COMMENT 'alınan sitedeki id''si',
`source` tinyint(2) NOT NULL,
`title` varchar(160) COLLATE utf8_turkish_ci NOT NULL,
`link` varchar(250) COLLATE utf8_turkish_ci NOT NULL,
`image` varchar(300) COLLATE utf8_turkish_ci NOT NULL,
`seconds` smallint(6) NOT NULL,
`fullscreen` varchar(100) COLLATE utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `source` (`source`,`seconds`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=122987 ;
--
-- Table structure for table `tag`
--
CREATE TABLE IF NOT EXISTS `tag` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tag_name` varchar(24) COLLATE utf8_turkish_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `tag_name` (`tag_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=191 ;
--
-- Table structure for table `video_tag`
--
CREATE TABLE IF NOT EXISTS `video_tag` (
`video_id` int(11) NOT NULL,
`tag_id` int(11) NOT NULL,
KEY `video_id` (`video_id`,`tag_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Вы хотите узнать общее количество видео? – aadi
Я думаю, что ваш запрос уже предоставляет вам общее количество строк вместе с подробностями ... если вы хотите просто подсчитать, то вы можете использовать select count (*) и удалить предложение order by по вашему запросу ... –
Если вы хотите что-то а затем объясните это .... –