永发信息网

请高手对现有mysql数据库设计一个高效率的查询

答案:2  悬赏:60  手机版
解决时间 2021-01-31 14:29
现在有3个表,有关字段如下:

企业表company
id,name,createDate

地区表area
id,name

项目表items
id,createDate,area_id,company_id

数据库设计的时候,企业表和地区表并没有直接关联,而是通过项目表进行间接关联

现在需要获取每个地区 本年 和 本月 的企业数

现在我有2个处理方法:
第一个是在程序里循环area的id,然后在每个循环单元里查询items 的 count(DISTINCT company_id)计数.
第二个是选出company和items的全连接,对company.id进行分组,然后在程序里对数据进行计数.

这两个查询方式效率都不太理想.所以不想循环遍历,或是 查出所有 再进行计数,希望能最大限度的从数据库查询获取

另外,area表和company表可以不引入查询,直接使用items 的 area_id和company_id进行区分也可.(只为计数)

以上 createDate 字段均为 datetime型.

求高手指点下,

注:mysql数据库
最佳答案
查询日期的嘛,可以直接在sql语句中使用时间段啊。
比如查询今年的 就“createDate >='2010-01-01' and createDate<='2010-12-31'”
查询月份也可以这么做,比如查询1月份的:“createDate >='2010-01-01 and createDate<='2010-01-31''” 在时间字段上建立索引 可以加快查询速度。

获取数量的话,可以用count 也可以直接用查询语句获得的符合条件的结果数。
如果不清楚的话可以在线聊。
全部回答
支持一下感觉挺不错的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
loader.exe 请问我的这个进程如何处理
问道 螳螂各方面成长怎么样?
黄法书画馆怎么去啊,我要去那办事
catia如何将一根圆管压扁,这个怎么画catia如
在原子吸收光谱法中实验仪器光源发出的光为何
利用镁和铍在性质上的哪些差别可以区分和分离
七彩艺苑书画培训地址有知道的么?有点事想过
材料一:合理的收入分配制度是社会公平的重要
无为在什么地方验车
如果男人以后结婚了还和初恋在一起,会影响他
筝艺培训地址在哪,我要去那里办事
我有两枚民国三年的一圆袁大头,民字上面有一
如果不论k为何值,x=-1总是关于x的方程kx+a/2-
耿城美术工作室地址在什么地方,想过去办事
12864液晶光标能变小吗
推荐资讯
写真布怎么 粘墙
你好。信用卡身份确认业务本人有事。儿女代替
在屈肘动作起牵动作用的结构是DA. 关节B. 皮
广州东站到中山国际,广州东站坐车到中山
已知ABC三点在同一条直线上,AB=20,BC=8,M是AB
竣工验收是检验建设项目(  )水平、全面考
我很胖,喜欢一个人却不敢说,咋办?
帐务处理 加油站自己车用油怎么走帐?
(x+0.25)*80=100x解方程
%IP-4-ZERO_ADDR: Zero MAC address for 10.1
摩登专业美发沙龙怎么去啊,我要去那办事
高速公路环境保护验收在噪声监测时,符合布设
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?