本文主要展示如何使用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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)