Heim  >  Artikel  >  Backend-Entwicklung  >  Kenntnisse über MySQL-Abfragezeit

Kenntnisse über MySQL-Abfragezeit

小云云
小云云Original
2017-11-16 12:01:081447Durchsuche

Manchmal müssen Programmierer untrennbar mit einigen Entwicklungsarbeiten zur Zeitstatistik verbunden sein und verschiedene Berichtsdaten zählen. Wir werden zwangsläufig MySQL zum Abfragen der Zeit verwenden. MySQL-Anweisungen sind alle sehr lang und komplex, daher fasse ich für Sie einige grundlegende statistische SQL-Kenntnisse zum Thema Zeit zusammen.

Nehmen Sie nun an, dass es eine solche Bestelldatentabelle gibt:

 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 abgeschlossenen Bestellnummern ab heute:

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 abfragen Bestellnummern 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());

Alle abgeschlossenen Auftragsnummern im Vorjahr abfragen:

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

Wenn Sie jetzt ein Projekt übernehmen, ja. Bezüglich des MySQL-Abfragezeitprojekts, I Ich hoffe, dieser Artikel kann Ihnen helfen.

Verwandte Empfehlungen:

Die Beziehung zwischen PHP und MySQL

MySQL-Methoden und -Funktionen für Zeit- und Datumsabfragen

MySQL-Zeitfunktion verwendet PHP-Code für den Vergleich von MySQL-Datenbankunterschieden

Probleme im Zusammenhang mit der MySQL-Zeitspeicherung

MySQL-Zeitbetriebsfunktion Zusammenfassung der Nutzung

Das obige ist der detaillierte Inhalt vonKenntnisse über 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