統計間のSQLのパーティション

SELECT
-返回字符串
ELT(
-划分区间
INTERVAL(student.score、0、60、90、100)、
"1-60"、
"61〜90"、
"91-100"、
"101-"
ASレベルは、
(*)/(カウント
SELECT
のカウント(DISTINCT(a.`name`))
FROM
A
)ASあたり
FROMを

SELECT
AS `NAME`、a.`name`
合計(a.score * b.weight)ASスコア
FROM
A、
B A.`subject` = b.`subject` GROUP BY a.`name` )学生GROUP BY ELT(INTERVAL(student.score、0、60、90、100)、"1-60" 、"61〜90"、「91-100" 、











"101-"
);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

バージョン2

SELECT
-返回字符串

CASE
WHEN student.score> = 0
とstudent.score <60 THEN
"0〜59"
WHEN student.score> = 60
AND student.score <90 THEN
"60〜89"
WHEN student.score > = 90
AND student.score <100 THEN
"90〜99"
ELSE
"100+"
END
)AS LEVEL、

COUNT(*)/(
SELECT
回数(DISTINCT(A.`name`))
FROM
A

)ASあたり
FROM

SELECT
`NAME`、AS a.`name`
スコアAS和(a.score * b.weight)
FROM
A、
B

A.`subject` = b.`subject`
GROUP BYの
a.`name`
)学生
GROUP BY

CASE
WHEN student.score> = 0
とstudent.score <60 THEN
"0〜59"
WHEN student.score> = 60
AND student.score <90は、THEN
"60〜89"
student.score> = 90
AND student.score <100 THEN
"90〜99"
ELSE
"100+"
END
)。

 

この問題を解決するための機能を使用してTODO

おすすめ

転載: www.cnblogs.com/cococc/p/12121366.html