>  기사  >  데이터 베이스  >  mysql에서 연속 날짜와 변수 할당을 생성하는 방법

mysql에서 연속 날짜와 변수 할당을 생성하는 방법

王林
王林앞으로
2023-06-02 21:55:121456검색

1. 생산 연속 날짜

설명: 일부 통계 데이터에 시간순으로 표시하는 데 사용됩니다.
데이터베이스 데이터에 다음 날의 데이터가 있지만 통계가 매일 표시되어야 하는 경우 0이면 사용할 시간표를 생성하려면

데이터베이스 데이터 쿼리:

SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) AS date,
        COUNT(1) AS numb
FROM
    qc_task 
    WHERE
    create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and
    department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = '1' AND dept_level >= (@dep_DJ)) 
    GROUP BY DATE_FORMAT( create_time, '%Y-%m-%d' )

격일로 데이터 출력:

mysql에서 연속 날짜와 변수 할당을 생성하는 방법

1씩 추가해야 하면 보기 좋지 않나요? desc 정렬할 수는 있지만 정렬해도 시간이 일치하지 않습니다.

최근 7일의 날짜 생성:

// 方法笨,但还是有效的
select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),'%Y-%m-%d') as 'datetime' from 
 (SELECT @num:=@num+1 as sj from 
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, 
           -- (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t1,  -- 假如嫌弃生成的少,打来这个就行
            (SELECT @num:=0) y) as timeList

시간 생성:

mysql에서 연속 날짜와 변수 할당을 생성하는 방법

다음 이후 사용; 세대:

-- 生成后左右链接即可,但主表要为时间表
SELECT f.datetime, t.numb FROM 
(SELECT
        DATE_FORMAT( create_time, '%Y-%m-%d' ) AS date,
        COUNT(1) AS numb
FROM
    qc_task 
    WHERE
    create_time>= DATE_SUB(CURDATE(),INTERVAL 1 MONTH) and
    department_id IN ( SELECT id FROM `vigilante_jinan`.`qc_department` WHERE `area_code` = (@dep_BH) AND `status` = '1' AND dept_level >= (@dep_DJ)) 
    GROUP BY DATE_FORMAT( create_time, '%Y-%m-%d' )) t
right join 
(select DATE_FORMAT(SUBDATE(NOW(), interval (timeList.sj*1460) MINUTE),'%Y-%m-%d') as 'datetime' from 
 (SELECT @num:=@num+1 as sj from 
            (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7) t, 
            (SELECT @num:=0) y) as timeList) f  on t.date = f.datetime ;

사용 후 효과:

mysql에서 연속 날짜와 변수 할당을 생성하는 방법

데이터베이스에 데이터가 없어서...수량표시가 안보이네요

2.변수할당

많이보이네요. 첫 번째에 있는 @ 기호 맞죠? 쿼리문을 넣으면 전체 쿼리문이 너무 부풀어 오르고 길어질 것입니다. 그래서 일부 내용이 분리될 수 있습니다. 예를 들어, 쿼리 데이터베이스 문에서:

그들의 진짜 얼굴을 봅시다:mysql에서 연속 날짜와 변수 할당을 생성하는 방법

#  查询部门区域编号
SELECT @dep_BH:=(SELECT area_code FROM qc_department WHERE dept_name = "历下区");
#  查询部门等级
SELECT @dep_DJ:=(SELECT dept_level FROM qc_department WHERE dept_name = "历下区");

위 내용은 mysql에서 연속 날짜와 변수 할당을 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제