Heim  >  Artikel  >  Datenbank  >  So generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in MySQL

So generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in MySQL

王林
王林nach vorne
2023-06-02 21:55:121456Durchsuche

1. Aufeinanderfolgende Produktionsdaten

Erläuterung: Wird hauptsächlich für die Anzeige einiger statistischer Daten in chronologischer Reihenfolge verwendet.
Wenn die Datenbankdaten Daten für den nächsten Tag enthalten, müssen die Statistiken jedoch jeden Tag angezeigt werden, auch wenn dies der Fall ist ist 0, dann So generieren Sie einen Zeitplan für die Verwendung:

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' )
Daten jeden zweiten Tag ausgeben:

Sieht das nicht gut aus? desc Sie können es arrangieren ... aber selbst wenn Sie es arrangieren, ist die Zeit inkonsistent; So generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in MySQL

Generieren Sie die Daten der letzten 7 Tage:

// 方法笨,但还是有效的
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

Generieren Sie die Zeit:

Verwenden Sie sie nach der Generierung : So generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in 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 ;

Der Effekt nach der Anwendung:

Ich habe keine Daten in der Datenbank...daher kann ich die Mengenanzeige nicht sehen

So generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in MySQL2. Variablenzuordnung

Man sieht viele @ Symbole im ersten, richtig? Das sind alles Variablen. Wenn Sie die Abfrageanweisung einfügen, wird die gesamte Abfrageanweisung zu aufgeblasen und ist sehr lang ... daher können einige Dinge aufgeteilt werden Beispiel in der Abfragedatenbankanweisung:

Lass uns ihre wahren Gesichter sehen:

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

Das obige ist der detaillierte Inhalt vonSo generieren Sie aufeinanderfolgende Daten und Variablenzuweisungen in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen