Как можно вывести точно такой же результат, но с повторами ID 2, например?Если с самого начала проектировать бд в нормальной форме, а не то что получилось, то задача вполне нормально решается. Создается таблица отношений наборов к блюдам, и объединяется как многие ко многим, и всё будет нормально выбираться. А кажущаяся "оптимальность" хранения идентификаторов строкой в одном поле - ошибка почти всех новичков, тем не менее это отвратительная практика, рожденная некомпетентностью и ленью. Меняйте структуру, пока не поздно, на этапе разработки это сделать проще, чем когда уже внесете кучу данных в рабочий говнопроект. Делайте сразу хорошо, чтобы потом не страдать.
мне надо что бы с переменными sql, тоесть не указывать самому дату, а надо что бы в запросе автоматом курдейт был, т е сегодня.будет что-то типа
SELECT *
from `table`
where DATE(dateTimeField) = DATE(now()),
and TIME(dateTimeField) >= '18:30'
and TIME(dateTimeField) <= '19:00'
SELECT concat(c.name,',',GROUP_CONCAT(e.name)) cn
FROM `companies` c
LEFT JOIN `employees` e
ON c.id = e.company_id
GROUP BY c.name
SELECT *
FROM mydata
WHERE id < '127'
AND mytarget = (
SELECT mytarget
FROM mydata
WHERE id = '127'
ORDER BY id DESC
LIMIT 1
)
ORDER BY id DESC
LIMIT 1
SELECT
CASE WHEN LOWER(a.title) LIKE LOWER('%слово%')
THEN 5 ELSE 0 END +
CASE WHEN LOWER(a.title) LIKE LOWER('%поиска%')
THEN 5 ELSE 0 END AS relevance,
a.title AS title,
a.metadesc,
a.metakey,
a.created AS created,
a.language,
a.catid,
CONCAT(a.introtext,a.fulltext) AS text,
c.title AS section,
CASE WHEN CHAR_LENGTH(a.alias) != 0
THEN CONCAT_WS(':', a.id, a.alias)
ELSE a.id END as slug,
CASE WHEN CHAR_LENGTH(c.alias) != 0
THEN CONCAT_WS(':', c.id, c.alias)
ELSE c.id END as catslug,
'2' AS browsernav
FROM db_content AS a
INNER JOIN db_categories AS c
ON c.id=a.catid
WHERE ((LOWER(a.title) LIKE LOWER('%слово%')
OR LOWER(a.introtext) LIKE LOWER('%слово%')
OR LOWER(a.fulltext) LIKE LOWER('%слово%')
OR LOWER(a.metakey) LIKE LOWER('%слово%')
OR LOWER(a.metadesc) LIKE LOWER('%слово%'))
AND (LOWER(a.title) LIKE LOWER('%поиска%')
OR LOWER(a.introtext) LIKE LOWER('%поиска%')
OR LOWER(a.fulltext) LIKE LOWER('%поиска%')
OR LOWER(a.metakey) LIKE LOWER('%поиска%')
OR LOWER(a.metadesc) LIKE LOWER('%поиска%')))
AND a.state=1
AND c.published = 1
AND a.access IN (1,1,2,3,6)
AND c.access IN (1,1,2,3,6)
AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2021-06-08 16:24:40')
AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2021-06-08 16:24:40')
GROUP BY a.id, a.title, a.metadesc, a.metakey, a.created, a.language, a.catid, a.introtext, a.fulltext, c.title, a.alias, c.alias, c.id
ORDER BY relevance DESC, a.created DESC
LIMIT 20
выводит все записи из таблицыМогу предположить что данное поле не является уникальным значением и ничего удивительного что вы получаете ВСЕ записи, где категория = какому-то номеру.