Heim  >  Artikel  >  Datenbank  >  Grundlegendes Tutorial zur MySQL-Abfragezeit

Grundlegendes Tutorial zur MySQL-Abfragezeit

小云云
小云云Original
2017-11-29 11:35:141636Durchsuche

Vielleicht werden wir Kopfschmerzen haben, wenn wir während der Entwicklung verschiedene Berichtsdaten zählen müssen. MySQL-Anweisungen sind sehr lang und komplex, daher gibt es immer eine Lösung. Jetzt werde ich Ihnen einige grundlegende SQL-Kenntnisse über die Zeitstatistik mitteilen.

Angenommen, es gibt eine solche Bestelldatentabelle:

CREATE TABLE `order` (    
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,    
`order_sn` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '订单编号,保证唯一',    
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',    
 `success_at` int(11) NOT NULL DEFAULT '0' COMMENT '订单完成时间',    
 `creator_id` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '订单创建人',    
PRIMARY KEY (`id`),    
UNIQUE KEY `uni_sn` (`order_sn`),    
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='订单表';

Nehmen Sie nun die obige Tabelle als Beispiel, um zugehörige Daten abzufragen:

Fragen Sie alle heute abgeschlossenen Bestellnummern ab :

SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = date_format(now(),'%Y-%m-%d');

Alle abgeschlossenen Bestellnummern für die aktuelle Woche abfragen:

SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = YEARWEEK(now());

Alle abgeschlossenen Bestellnummern der letzten Woche abfragen:

SELECT `order_sn` FROM `order` WHERE YEARWEEK(FROM_UNIXTIME(success_at,'%Y-%m-%d')) = YEARWEEK(now())-1;

Alle abgeschlossenen Bestellungen abfragen Zahlen im aktuellen Monat:

select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m')=date_format(now(),'%Y-%m');

Alle abgeschlossenen Bestellnummern im Vormonat abfragen:

select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 month),'%Y-%m');

Abgeschlossene Bestellnummern in 6 Monaten abfragen:

select `order_sn` from `order` where FROM_UNIXTIME(success_at,'%Y-%m-%d %H:%i:%s') between date_sub(now(),interval 6 month) and now();

Alle abgeschlossenen Bestellnummern für dieses Quartal abfragen:

select `order_sn` from `order` where QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(now());

Alle abgeschlossenen Bestellnummern für das letzte Quartal abfragen:

select `order_sn` from `order` where QUARTER(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

Alle abgeschlossenen Bestellnummern im Jahr abfragen:

select `order_sn` from `order` where YEAR(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=YEAR(NOW());

Fragen Sie alle im Vorjahr abgeschlossenen Bestellnummern ab:

select `order_sn` from `order` where year(FROM_UNIXTIME(success_at,'%Y-%m-%d'))=year(date_sub(now(),interval 1 year));

Der obige Inhalt ist die MySQL-Abfrageberichtszeit Verwandte Tutorials, ich hoffe, es wird hilfreich sein an alle.

Verwandte Empfehlungen:

MySQL-Abfragezeitbezogenes Wissen

Beispielcode für die MySQL-Abfragezeitraummethode

MySQL-Methoden und -Funktionen zur Abfrage von Uhrzeit und Datum

Das obige ist der detaillierte Inhalt vonGrundlegendes Tutorial zur MySQL-Abfragezeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn