mysql

1.https://blog.csdn.net/qq_36802726/article/details/81208853     SpringBoot jpa多条件查询(参数可能为空)语句

2.MyBatis查询语句写法

 <select id="findHomeCondition" resultType="HashMap">
        SELECT
        proj.proj_code AS 'project_code',
        proj.proj_name AS 'project_name',
        proj.pk_proj AS 'pk_project',
        res.pk_user_user_id AS 'user',
        COUNT(res.pk_user_user_id) AS 'count',
        tab.`manager`, tab.managerId AS managerId,
        dept.name
        FROM project proj
        LEFT JOIN resource res ON res.pk_proj_pk_proj = proj.pk_proj
        LEFT JOIN user user ON res.pk_user_user_id = `user`.USER_ID
        LEFT JOIN dept dept ON proj.dept_id = dept.id
        LEFT JOIN (
        SELECT
        user.USER_NAME AS 'manager',
        user.user_id AS managerId,
        res1.id AS table_id,
        res1.pk_proj_pk_proj AS pk_proj
        FROM resource res1
        LEFT JOIN user user
        ON res1.pk_user_user_id = `user`.user_id
        LEFT JOIN project proj1
        ON res1.pk_proj_pk_proj = proj1.pk_proj
        WHERE is_pm = 1
        ) tab
        ON tab.table_id = res.id
        <trim prefix="where" suffixOverrides="and">
            <if test="projName != null and projName != ''">
                proj.proj_name like '${projName}' and
            </if>
            <if test="projCode != null and projCode != ''">
                proj.proj_code like '${projCode}' and
            </if>
            proj.status in (3, 4) and
            <if test="deptSet.size>0">
                 dept.id in
                <foreach item="item" index="index" collection="deptSet"  open="(" separator="," close=")">
                #{item}
            </foreach>
            </if>
        </trim>
        GROUP BY proj.proj_code
        ORDER BY proj.create_time DESC
        <if test="pageable.pageNumber != null">
            limit ${pageable.pageNumber * pageable.pageSize}, ${pageable.pageSize}
        </if>
    </select>

3.jpa查询

模糊查询 M2019XXX

 @Query(value = "select count(pk_proj) from project where INNER_CONTRACT like :contractName%",nativeQuery = true)

其他查询

 /**
     * 查询当月到现在,填写周报数
     * @param userId
     * @return
     */
    @Query(value = "SELECT count(weekly_id) from weekly where user_id=?1 and  submit_time>=(DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00'))AND submit_time<= now()",nativeQuery = true)
    Long findMonthWeeklyCount(Long userId);

    /**
     * 查询周五未填写周报的user_id
     * @return
     */
    @Query(value = "select  user_info.user_id from user_info  left join weekly on user_info.user_id=weekly.user_id  and  DATEDIFF(now(),weekly.submit_time) <7 AND DATEDIFF(now(),weekly.submit_time)>0  where user_info.user_id not  in (select DISTINCT user_id from  weekly  where  DATEDIFF(now(),submit_time) <7 AND DATEDIFF(now(),submit_time)>0) ",nativeQuery = true)
    List<BigInteger> unfilledReminder();

    /**
     * 没有审批条数(当月到现在)
     * @param userId
     * @return
     */
    @Query(value="SELECT count(weekly_id) FROM weekly WHERE approver_id=?1 and approver_status=2 and submit_time>=(DATE_FORMAT( CURDATE(), '%Y-%m-01 00:00:00'))AND submit_time<= now()",nativeQuery = true)
    Long monthWeeklyNoApprovelCount(Long userId);

    /**
     * 选择日期查看填写
     * @param userId
     * @param queryData
     * @return
     */
    @Query(value="select weekly_id,approver,approver_id,approver_status,approver_time,submit_time,submitter,work_completion,learning_completion,exp_and_rec_Summary,work_plan,learning_plan,user_id from Weekly where user_id=?1 and  TO_DAYS(submit_time)=TO_DAYS(?2)",nativeQuery = true)
    WeeklyEntry dateQueryList(Long userId, Date queryData);

    /**
     * 判断是否是主查看人和次查看人
     */
    @Query(value="select count(user_id) from user where report_id=?1",nativeQuery = true)
    Long findIsSeePerson(Long userId);

    /**
     * 主查看人查看
     * @param userId
     * @param queryData
     * @return
     */
    @Query(value="select weekly_id,approver,approver_id,approver_status,approver_time,submit_time,submitter,work_completion,learning_completion,exp_and_rec_Summary,work_plan,learning_plan,user_id from Weekly where approver_id=?1 and  TO_DAYS(submit_time)=TO_DAYS(?2)",nativeQuery = true)
    List<WeeklyEntry> mainQueryList(Long userId, Date queryData);

    /**
     * 次查看人查看
     * @param userId
     * @param queryData
     * @return
     */
    @Query(value="select weekly_id,approver,approver_id,approver_status,approver_time,submit_time,submitter,work_completion,learning_completion,exp_and_rec_Summary,work_plan,learning_plan,user_id from Weekly where user_id in ?1 and TO_DAYS(submit_time)=TO_DAYS(?2)",nativeQuery = true)
    List<WeeklyEntry> secondaryQueryList(List <Integer>  userId, Date queryData);

4. mysql出现too many connections错误   解决办法

 全连接(1)

SELECT
	a.media_type AS mediaType,
	count(a.media_type) AS dataNum,
	b.mediaName AS mediaName
FROM
	biz_crl_whole_network_data a
LEFT JOIN biz_crl_media_type b ON a.media_type = b.id
LEFT OUTER JOIN biz_crl_monitor_account_data c ON a.url = c.url
WHERE
	to_days(a.writingtime) = to_days('2019-08-28')
GROUP BY
	a.media_type
UNION
	SELECT
		c.media_type AS cmediaType,
		count(c.media_type) AS cdataNum,
		b.mediaName AS mediaName
	FROM
		biz_crl_whole_network_data a
	LEFT JOIN biz_crl_media_type b ON a.media_type = b.id
	RIGHT OUTER JOIN biz_crl_monitor_account_data c ON a.url = c.url
	WHERE
		to_days(c.writingtime) = to_days('2019-08-28')
	GROUP BY
		c.media_type

 结果如下:

 

  全连接(2)

SELECT
	*
FROM
	biz_crl_whole_network_data a
LEFT OUTER JOIN biz_crl_monitor_account_data c ON a.url = c.url
LEFT JOIN biz_crl_media_type b ON a.media_type = b.id
WHERE
	to_days(a.writingtime) = to_days('2019-08-28')
GROUP BY
	a.id
UNION
	SELECT
		*
	FROM
		biz_crl_whole_network_data a
	RIGHT OUTER JOIN biz_crl_monitor_account_data c ON a.url = c.url
	LEFT JOIN biz_crl_media_type b ON c.media_type = b.id
	WHERE
		to_days(c.writingtime) = to_days('2019-08-28')
	GROUP BY
		c.id

结果如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值