gpt4 book ai didi

mysql - sql MySQL 错误 (1241) 操作数应包含 1 列

转载 作者:行者123 更新时间:2023-11-29 20:31:51 25 4
gpt4 key购买 nike

首先我想声明我在编写 SQL 查询方面仍然是新手。我彻底搜索了有关此错误的答案,并得到了很多答案,但似乎没有一个有帮助,或者我会说我真的不知道如何将解决方案应用于我的。

这是我的挑战,我有一个申请表,其中存储具有一些唯一列的申请人记录,例如(dl_number,parent_id,person_id)。 Parent_id 通过他/她的第一条记录来跟踪个人申请人的历史记录,每个申请人都应该有一个唯一的 dl_number,但由于某些原因,某些申请人的 dl_number 不是唯一的,因此需要通过以下方式来识别记录:更改 dl_number。

下面是 SQL 查询,出现 [sql 错误 (1241) 操作数应包含 1 列] 错误。

SELECT id,application_id,dl_number,surname,firstname,othername,birth_date,status_id,expiry_date,person_id,COUNT(DISTINCT(dl_number,parent_id,birth_date)) AS NumOccurrences
FROM tbl_dl_application
WHERE status_id > 1
GROUP BY dl_number,parent_id,birth_date
HAVING NumOccurrences > 1

请帮忙解决这个问题,或者有更好的方法来解决这个问题。

Sample table and expected result

最佳答案

DISTICT 并不是真正可以这样使用的函数。你可以做SELECT DISTICT column1, column2 FROM table仅获取唯一行,或类似 SELECT column, count(DISTINCT anothercolumn) FROM table GROUP BY column获取组内唯一的行。

据我了解,问题是:您在表中查找重复项。重复项定义为以下 3 列具有相同的值: dl_n‌​umber , parent_idbirth‌​_date .

我还假设 id是表中的主键。如果没有,请更换 t2.id <> t.id条件与唯一标识您的行的条件。

如果您只想知道重复的组是什么,这应该可行:

SELECT dl_n‌​umber, parent_id, birth‌​_date, count(*) as NumOccurences  -- You can only add aggregation functions here, not another column unless you group by it.
FROM tbl_dl_application t
WHERE status_id > 1 -- I don't know what this is but it should do no harm.
GROUP BY dl_n‌​umber, parent_id, birth‌​_date
HAVING count(*)>1

但是,如果您想了解每个重复行的详细信息,此查询将为您提供:

SELECT *
FROM tbl_dl_application t
WHERE
status_id > 1 -- I don't know what this is but it should do no harm.
AND EXISTS (
SELECT 1
FROM tbl_dl_application t2
WHERE
t2.dl_number = t.dl_number
AND t2.parent_id = t.parent_id
AND t2.birth_date = t.birth_date
AND t2.id <> t.id
)
ORDER BY dl_n‌​umber, parent_id, birth‌​_date, id; -- So you have your duplicates nicely next to each other.

如果我误解了您的目标,请进一步解释,或者询问解决方案是否不够清晰。

关于mysql - sql MySQL 错误 (1241) 操作数应包含 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38991004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com