gpt4 book ai didi

mysql - 在mysql中显示计数值和多行

转载 作者:行者123 更新时间:2023-11-29 00:17:21 24 4
gpt4 key购买 nike

我确实尝试通过谷歌搜索自己获得答案,但我找不到解决方案。

实际上我有两张 table 。

这是假设学生表

id  | sname | cid
1 a 1
2 b 2
3 c 2
4 d 3
5 e 4
6 f 3
7 g 4
8 h 3

这是类表

id  | sname 
1 c1
2 c2
3 c3
4 c4

我想要如下结果:

Result:

id | cname | sname | count
1 c1 a 1
2 c2 b 2
3 c2 c 2
4 c3 d 3
1 c4 e 2
2 c3 f 3
3 c4 g 2
4 c3 h 3

如您所见,结果将如上所示,所有学生姓名将与类(class)名称和人数一起显示。

我该怎么做?

最佳答案

试试这个:

SELECT * FROM
((SELECT C.id,C.sname as cname,S.sname as sname
FROM class C INNER JOIN students S on C.id=S.cid) T1
LEFT JOIN
(Select C.id,count(S.cid) as count
FROM class C INNER JOIN students S on C.id=S.cid
GROUP BY C.id) T2 on T2.id=T1.id)
ORDER BY sname

结果:

ID  CNAME   SNAME   COUNT
1 c1 a 1
2 c2 b 2
2 c2 c 2
3 c3 d 3
4 c4 e 2
3 c3 f 3
4 c4 g 2
3 c3 h 3

SQL Fiddle 中查看结果.

解释:

内部查询的第一部分选择 id、cname 和 sname。第二部分选择计数。在外部查询中,我们只是加入它们。

关于mysql - 在mysql中显示计数值和多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22502811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com