这是我当前的查询,返回text
列作为结果。使用子查询时无法选择ID
SELECT text FROM `tableA` WHERE EXISTS (SELECT id FROM tableA WHERE `id` LIKE '%00%') GROUP BY text
但我想id
也被选中,但我下面的查询提供了错误,我不知道为什么。 (选择以及笔记ID)
SELECT id, text FROM `tableA` WHERE EXISTS (SELECT id FROM tableA WHERE `id` LIKE '%00%') GROUP BY text
Error:
#1055 - Expression #1 of SELECT list is not in GROUP BY
clause and contains nonaggregated column
'search_db.tableA.id' which is not
functionally dependent on columns in GROUP BY clause;
this is incompatible with sql_mode=only_full_group_by
我的完整的查询看起来是这样的:
实际上,我选择从多个表列文本,并希望为文本列独特的价值
SELECT DISTINCT text FROM `tableA` AS `table` WHERE EXISTS (SELECT * FROM tableA WHERE `id` LIKE '%0.219%') UNION
SELECT DISTINCT text FROM `tableB` AS `table` WHERE EXISTS (SELECT * FROM tableB WHERE `id` LIKE '%0.219%') UNION
SELECT DISTINCT text FROM `tableC` AS `table` WHERE EXISTS (SELECT * FROM tableC WHERE `id` LIKE '%0.219%')
这里没有聚合函数,所以不需要聚合子句。问题解决了。 – Strawberry
@Strawberry!请你解释一下这一点。我也面临同样的问题? –
@Strawberry,我不明白它..哪一个是不需要的?请看看我编辑的帖子。我发布了我的完整查询。 – 112233