楼主:
bohei (run and fall)
2014-07-02 15:47:02※ 引述《KerKerLaugh (科科笑)》之铭言:
: ※ 引述《KerKerLaugh (科科笑)》之铭言:
: : 取likes字段数字的第一个字符,分组计算1~9各有几笔
: : SELECT substring( likes, 1, 1 ) as Leading_Digits, Count( * ) as Actual_Count
: : FROM movies
:
..............
SELECT Leading_Digits,Actual_Cou,All_Cou*Probability as Expected_Count
FROM (SELECT substring(likes,1,1) as Leading_Digits,
Count(*) as Actual_Cou,
(SELECT COUNT(*) FROM movies) as All_Cou
FROM movies
GROUP BY substring(likes,1,1)) as L1,test
WHERE L1.Leading_Digits=test.Leading_Digits
因为子查询出来的TABLE跟你刚刚新建的TEST TABLE两个字段都叫Leading_Digits
这时候你必须指定你的Leading_Digits是哪一个TABLE的孩子
所以要写L1.Leading_Digits=test.Leading_Digits
至于取别名L1是为了上面辨别字段来源时使用
你要取什么名字都可以~