在mysql中按范围分组

Table:   

new_table

user_number | diff

2 | 0

1 | 28

2 | 32

1 | 40

1 | 53

1 | 59

1 | 101

1 | 105

2 | 108

2 | 129

2 | 130

1 | 144

|(result)

v

range | number of users

0-20 | 2

21-41 | 3

42-62 | 1

63-83 | 2

84-104 | 1

105-135| 0

136-156| 3

select t.range as [range], count(*) as [number of users]

from (

select case

when diff between 0 and 20 then ' 0-20'

when diff between 21 and 41 then ' 21-41'

when diff between 42 and 62 then ' 42-62'

when diff between 63 and 83 then ' 63-83'

when diff between 84 and 104 then ' 84-104'

when diff between 105 and 135 then ' 105-135'

else '136-156'

end as range

from new_table) t

group by t.diff

Error:

You have an error in your SQL syntax, near '[range], count(*) as [number of users]

from (

select case

when' at line 1

回答:

Mysql作为关键字的分隔符使用反引号“`”,而不是方括号(例如sql server)

以上是 在mysql中按范围分组 的全部内容, 来源链接: utcz.com/qa/420850.html

回到顶部