MySQL查询避免使用变量
有没有办法将第一个查询放入主查询并避免变量集MySQL查询避免使用变量,mysql,Mysql,有没有办法将第一个查询放入主查询并避免变量集 SET @domain_id = (SELECT id FROM stop_domain LIMIT 1); SELECT IFNULL(MAX(duid), 0) + 1 AS duid , @domain_id FROM stop_link WHERE domain_id = @domain_id; 停止域 id | url 停止链接 id | duid | domain_id 确实有, SELECT IFNULL(MAX(
SET @domain_id = (SELECT id FROM stop_domain LIMIT 1);
SELECT
IFNULL(MAX(duid), 0) + 1 AS duid
, @domain_id
FROM
stop_link
WHERE domain_id = @domain_id;
停止域
id | url
停止链接
id | duid | domain_id
确实有,
SELECT
IFNULL(MAX(duid), 0) + 1 AS duid
, domain_id
FROM
stop_link
WHERE domain_id = (SELECT id FROM stop_domain LIMIT 1);
这表明:在没有分组依据的聚合查询中,SELECT列表的表达式#2包含未聚合的列“t.id”;这与sql_mode=only_full_group_BY不兼容。这显示在没有分组依据的聚合查询中,选择列表的表达式#2包含非聚合列“stop_link.domain_id”;这与sql\u mode=only\u full\u group\u by不兼容
SELECT IFNULL(MAX(duid), 0) + 1 AS duid
,t.id
FROM (SELECT id FROM stop_domain LIMIT 1) t
INNER JOIN stop_link
ON domain_id = t.id
GROUP BY t.id;