Home > Back-end >  Executing two queries and exiting a unique table
Executing two queries and exiting a unique table

Time:12-06

I have a database, and I would like to get data where the username is equal to x and I would also like to get data regardless of the user.

I have the two queries:

SELECT MONTH(date) as month, COUNT(*) as count 
from DB_NAME 
WHERE YEAR(date) = YEAR(CURDATE()) AND userid = 'userid' 
GROUP BY month
SELECT MONTH(date) as month, COUNT(*) as count 
from DB_NAME 
WHERE YEAR(date) = YEAR(CURDATE()) 
GROUP BY month

Expected output:

 ------- ------ ----- 
| month | user | all |
 ------- ------ ----- 
|     1 |  100 | 200 |
|     2 |   90 | 150 |
 ------- ------ ----- 

CodePudding user response:

I think some conditional aggregation is what you are after here:

SELECT 
  MONTH(date) as month, 
  COUNT(CASE WHEN userid = 'userid' THEN 1 END) as user,
  COUNT(*) as count 
from DB_NAME 
WHERE YEAR(date) = YEAR(CURDATE()) 
GROUP BY month;
  • Related