gpt4 book ai didi

MySQL - 选择具有多个表和每个条件的计数

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:22 25 4
gpt4 key购买 nike

我脑子里有一个相当简单的查询:

我有三个表,我想返回每个表使用(具有外键)的行数。

这是我的第一次尝试:

    SELECT 
COUNT(at.code) AS atcount,
COUNT(de.code) AS decount,
COUNT(ch.code) AS chcount
FROM
table_at at,
table_ch ch,
table_de de
WHERE
at.teilnehmerid != 0
AND
de.teilnehmerid != 0
AND
ch.teilnehmerid != 0

但这在某种程度上不起作用,它不会产生任何错误,但只是不考虑条件。我还考虑了子查询,例如:

    SELECT 
(SELECT COUNT(code) FROM table_at at WHERE at.teilnehmerid != 0),
(SELECT COUNT(code) FROM table_de de WHERE de.teilnehmerid != 0),
(SELECT COUNT(code) FROM table_ch ch WHERE ch.teilnehmerid != 0)

但是我对这次尝试的一些相当愚蠢的事情感到困惑......FROM 呢? ?当然我收到一个错误:Operand should contain 1 column(s) - 但我只想要计数...

我也读过有关连接的信息,但不明白如何获得 COUNT通过 JOIN在我的主要内部 SELECT声明。

是的,我在这里阅读了一些其他问题,但没有看到适用于这两个问题的答案:

  • 选择多个表

  • 正在做 COUNT在多张 table 上

如果我错了,只是没有得到正确的答案,也许更好的解释会有所帮助。

最佳答案

由于 COUNT() 返回单行单列;怎么样,

SELECT * 
FROM
(SELECT COUNT(code) FROM table_at at WHERE teilnehmerid != 0) as T1,
(SELECT COUNT(code) FROM table_de de WHERE teilnehmerid != 0) as T2,
(SELECT COUNT(code) FROM table_ch ch WHERE teilnehmerid != 0) as T3

联接将返回一行。

关于MySQL - 选择具有多个表和每个条件的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12932784/

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