卡住;带有聚合函数的SQL case语句

时间:2016-07-31 03:43:10

标签: mysql sql

我遇到了问题,我希望你们可以提供帮助。

我正在使用XAMPP和PHP My Admin(PMA)运行mySQL

我有两张桌子:

表A

A          |B
1000000001 |100000001
1000000001 |100000002
1000000001 |100000003
1000000002 |100000004
1000000002 |100000005
1000000003 |100000006

表B

C         |D
1000000001|100000000000001
1000000002|100000000000002
1000000003|100000000000003
1000000004|100000000000004
1000000005|100000000000005
1000000006|100000000000006

我已加入两个表来代表以下内容:

A        |B/C       |D
100000001|1000000001|100000000000001
100000001|1000000002|100000000000002
100000001|1000000003|100000000000003
100000002|1000000004|100000000000004
100000002|1000000005|100000000000005
100000003|1000000006|100000000000006

注意前三个数据点中出现的模式。

基本上我需要帮助理解如何编写一个案例脚本,它将返回一个唯一的A值和每个A值的D值的计数

回归将是:

A        |D_COUNT
100000001|3
100000001|2
100000003|1

谢谢!

3 个答案:

答案 0 :(得分:1)

SELECT A,
       COUNT(DISTINCT D) AS count_d
FROM table_c
GROUP BY A;

答案 1 :(得分:1)

你给出的表似乎有点错误,TableA.B的长度是9而TableB.C是10,忽略这一点,你可以写这样的查询字符串:

select A,count(A) as D_COUNT 
from t_a,t_b 
where t_a.b=t_b.c 
group by t_a.A;

表A ==> T_A

表B ==> T_B

答案 2 :(得分:0)

尝试此查询:

select A,count(A) as D_Count from tablename group by A