聊聊mysql的多列组合查询

聊聊mysql的多列组合查询,第1张

本文主要展示如何使用mysql的多列组合查询

多列组合查询平常比较少见,初次看还觉得挺神奇的。

• mysql-filtering-by-multiple-columns[1]

• selecting-where-two-columns-are-in-a-set[2]

[1] mysql-filtering-by-multiple-columns https://www.tutorialspoint.com/mysql-filtering-by-multiple-columns

[2] selecting-where-two-columns-are-in-a-set https://dba.stackexchange.com/questions/34266/selecting-where-two-columns-are-in-a-set

中间表应该存着文章表的ID和该文章对应的分类的ID。文章表作为主表,左连接上中间表,再左连接上分类表。文章表作为主表,即使一本书它没有分类,也能查询出这本书。因为一本书会有多个分类,可以使用group by或者去重函数来去掉重复的书。如果查询时想要查出一本书有几个分类,可以使用group_cat()函数把所有分类名称拼接在一起。要查询某一个分类的书时,where 后面分类ID等于要查询的分类ID即可。

可直接用嵌套查询。

方法如下:

如数据:

id name

1a

1b

2c

2d

3e

3f

3g

3h

1

2

select count(t.counts) from

(select id,count(*) counts from 表名 group by id) t

这样得到的结果就是3。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7396841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存