Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 11th, 2012  |  syntax: None  |  size: 1.26 KB  |  hits: 22  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Select multiple sums with MySQL query and display them in separate columns
  2. name   points
  3. ------------
  4. bob     10
  5. mike    03
  6. mike    04
  7. bob     06
  8.        
  9. bob   mike
  10. 16     07
  11.        
  12. SELECT sum(points) as "Bob" WHERE name="bob",
  13.        sum(points) as "Mike" WHERE name="mike"
  14.   FROM score_table
  15.        
  16. SELECT SUM(CASE WHEN name='bob' THEN points END) as bob,
  17.        SUM(CASE WHEN name='mike' THEN points END) as mike
  18.   FROM score_table
  19.        
  20. SELECT
  21.     sum( (name = 'bob') * points) as Bob,
  22.     sum( (name = 'mike') * points) as Mike,
  23.     -- etc
  24. FROM score_table;
  25.        
  26. SELECT SUM(IF(name = "Bob", points, 0)) AS points_bob,
  27.        SUM(IF(name = "Mike", points, 0)) AS points_mike
  28. FROM score_table
  29.        
  30. SELECT SUM(CASE WHEN name = 'bob'  THEN points ELSE 0 END) AS bob,
  31.        SUM(CASE WHEN name = 'mike' THEN points ELSE 0 END) AS mike,
  32.        ... so on for each player ...
  33.   FROM score_table
  34.        
  35. SELECT sum(points), name
  36. FROM `table`
  37. GROUP BY name
  38.        
  39. SELECT sum(if(name = 'mike',points,0)),
  40.        sum(if(name = 'bob',points,0))
  41. FROM `table
  42.        
  43. select * from  game_scores
  44. pivot (sum(points) for name in ('BOB' BOB, 'mike' MIKE));
  45.        
  46. WITH pivot_data AS (
  47.             SELECT points,name
  48.   FROM   game_scores
  49.   )
  50.   SELECT *
  51.   FROM   pivot_data
  52. pivot (sum(points) for name in ('BOB' BOB, 'mike' MIKE));