gpt4 book ai didi

SQL 计数查询,使用来自 2 个不同表的 where 子句

转载 作者:行者123 更新时间:2023-12-04 20:59:17 26 4
gpt4 key购买 nike

我是 SQL 新手。我需要在几个不同的站点运行一次性查询以获得计数。查询需要根据 where 子句为我提供所有记录的计数。但是我在弄清楚语法时遇到了麻烦。

这是我尝试过的:

SELECT COUNT(KEYS.IDXKEYID) FROM KEYS, KEYFLAGS 
WHERE IDXLEVELID = 1
AND KEYFLAGS.BKEYSEVERMADE = -1

这给了我一个疯狂的数字。

基本上,IDXKEYID 是一个主键,同时存在于KEYS 和KEYFLAGS 表中。我想要计算数据库中满足上述 WHERE 子句标准的所有 IDXKEYID 记录。我只想要 1 列/行中的 1 个简单结果。

COUNT
-----
12346

提前致谢!

最佳答案

SELECT COUNT(DISTINCT KEYS.IDXKEYID) -- count each key only once
FROM KEYS, KEYFLAGS
WHERE KEYS.IDXLEVELID = 1
AND KEYFLAGS.BKEYSEVERMADE = -1
AND KEYS.IDXKEYID = KEYFLAGS.IDXKEYID -- you're missing this link

或者你可以用EXISTS来写

SELECT COUNT(1) -- count each key only once
FROM KEYS
WHERE KEYS.IDXLEVELID = 1
AND EXISTS (
SELECT *
FROM KEYFLAGS
WHERE KEYS.IDXKEYID = KEYFLAGS.IDXKEYID -- correlate
AND KEYFLAGS.BKEYSEVERMADE = -1)

关于SQL 计数查询,使用来自 2 个不同表的 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12502824/

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