SQL - Select 乘以条件

SQL - Select multiply conditions

我想 select 使用以下查询乘以条件:

SELECT (SELECT count(*)
        FROM users
    )
        as totalusers,
       (SELECT sum(cashedout) 
          FROM users
         ) AS cashedout,
       (SELECT COUNT(*) 
          FROM xeon_users_rented
        ) AS totalbots,
(SELECT sum(value) 
          FROM xeon_stats_clicks
 WHERE typ='3' OR typ='1'
        ) AS totalclicks

以上查询的执行时间不到一秒(准确地说是 0.912)。这会大大降低数千个请求的速度。

这种方法对我来说似乎合乎逻辑:

SELECT (SELECT count(*), sum(cashedout)
        FROM users
    )
        as totalusers, cashedout,
       (SELECT COUNT(*) 
          FROM xeon_users_rented
        ) AS totalbots,
(SELECT sum(value) 
          FROM xeon_stats_clicks
 WHERE typ='3' OR typ='1'
        ) AS totalclicks

但是这不起作用,因为我收到以下错误:

 #1241 - Operand should contain 1 column(s)

此外,如何在我的第一个查询中连接另外两个表“xeon_users_rented”和“xeon_stats_clicks”?

它很慢,因为你有多个子查询。尝试改用联接。

此外,您的表格和列的列表将有助于我们更好地为您提供帮助。

您的第二个查询使用了错误的语法,应该是

SELECT 
count(*) as totalusers, 
sum(cashedout) cashedout,
(SELECT COUNT(*) FROM xeon_users_rented) AS totalbots,
(SELECT sum(value) FROM xeon_stats_clicks 
 WHERE typ='3' OR typ='1') AS totalclicks
FROM users