首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这方面的优化查询可以是什么?

这方面的优化查询可以是什么?
EN

Stack Overflow用户
提问于 2012-08-13 06:27:37
回答 2查看 56关注 0票数 0

我一直在进行小的查询。有一个名为Table_Activities的表。

Table_Activities (Act_idDate,Activity_namedescription)。

我们需要从这产生一份报告。用户将从下拉列表中选择要生成报表的、月份、年份

我们需要按活动名称显示该月份和年度组的所有活动。

示例-用户选择6月2012

报告将是-

园艺

代码语言:javascript
复制
01/06/2012 - They have planted 100 trees.
14/06/2012 - something
27/06/2012 - something

训练

代码语言:javascript
复制
02/06/2012 - Detail description
15/06/2012 - something
28/06/2012 - something

我的问题是,用这种格式获取数据的mysql查询是什么??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-13 06:51:05

代码语言:javascript
复制
select `Date`,description from tm_activities 
where month(`Date`)='6' and year(`Date`)='2012' 
order by Activity_name,`date` 

若要返回您问题中所述的确切格式,请尝试如下:

代码语言:javascript
复制
select concat(if(actdate='',activity_name,date_format(actdate,'%d/%m/%y')),if(description<>'',concat(' - ',description),'')) as labelm from
(
(select ActDate,description,activity_name from tm_activities where month(ActDate)='6' and year(ActDate)='2012' 
) 
union all
(Select distinct '','',activity_name from tm_activities where month(ActDate)='6' and year(ActDate)='2012')
)m order by activity_name,actdate
;

SQL小提琴在这里。

产出如下:

代码语言:javascript
复制
Gardening
01/06/12 - They have planted 100 trees.
27/06/12 - Gar 2
Training
12/06/12 - Training 1
28/06/12 - Traning 2
30/06/12 - Traning 3
票数 1
EN

Stack Overflow用户

发布于 2012-08-13 06:36:28

代码语言:javascript
复制
Select 
    DATE_FORMAT('date_column',"%D/%M/%Y") as `Date`,
    other_column  
from Table_Activities 
where Month(Date) = Month('2012-06-01')
AND Year(Date) = Year('2012-06-01')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11929131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档