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
我想 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