sql >> Database teknologi >  >> RDS >> Mysql

MYSQL:Hvordan kan jeg finde 'sidste mandags dato' (performance Issue)

Hvis du ikke bruger en gammel MySQL, kan du pakke dette ind i en gemt funktion.

CREATE FUNCTION `LastMonday`() RETURNS DATETIME    
  RETURN DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) ;

og ring derefter

select LastMonday() as LastMonday

Opdatering:

Hvis du har problemer med ydeevnen, kan du bevare værdien i en sessionsvariabel. På den måde kan du være sikker på, at det kun bliver beregnet én gang.

set @LastMonday=LastMonday();
select @Lastmonday; 

(i denne simple forespørgsel gør det selvfølgelig ingen forskel...)



  1. Vigtige ting at overvåge i PostgreSQL - Analyse af din arbejdsbyrde

  2. Dvale forholdskortlægning/Gennemfør batchindsættelser

  3. MySQLdb i Python:Kan ikke oprette forbindelse til MySQL-server på 'localhost'

  4. ROW_NUMBER i SQL – Vælg Top Eksempel i SQL og SQL Server