简体   繁体   English

我如何计算这个mysql UNION查询

[英]How do i count this mysql UNION query

This is my query, i'm kinda still getting a hang of mysql joins. 这是我的查询,我还是有点挂起mysql连接。 i would like to get the count of this query.... 我想获得此查询的数量...。

SELECT *
FROM `users`
WHERE id = '4'
UNION
SELECT *
FROM `users`
WHERE id IN 
(SELECT group_id 
FROM `users` 
WHERE id = '4')
AND status = '1'

You can count the subquery 您可以计算子查询

  select count(*) from (

  SELECT *
  FROM `users`
  WHERE id = '4'
  UNION
  SELECT *
  FROM `users`
  WHERE id IN 
  (SELECT level 
  FROM `users` 
  WHERE id = '4')
  AND status = '1') t

I agree with scaisEdge on the code to use. 我同意scaisEdge使用的代码。 However, what are you trying to do here in the subquery? 但是,您要在子查询中做什么? This seems to look for ID, but you selected 'Level' for the IN statement? 这似乎是在寻找ID,但是您为IN语句选择了“级别”? Unless LEVEL is the same as ID, it won't do anything. 除非LEVEL与ID相同,否则它将不会执行任何操作。

SELECT *
FROM `users`
WHERE id IN 
(SELECT level 
FROM `users` 
WHERE id = '4')
AND status = '1'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM