要查詢連續天數,可以使用MySQL的日期函數和子查詢來實現。以下是一個示例查詢連續天數的方法:
假設有一個包含日期的表date_table,表結構如下:
CREATE TABLE date_table (
date_column DATE
);
現在我們想要查詢連續的日期范圍,可以使用以下查詢:
SELECT MIN(date_column) AS start_date, MAX(date_column) AS end_date,
DATEDIFF(MAX(date_column), MIN(date_column)) + 1 AS consecutive_days
FROM (
SELECT date_column,
DATE_SUB(date_column, INTERVAL CASE
WHEN @prev_date = DATE_SUB(date_column, INTERVAL 1 DAY) THEN @grp
ELSE @grp := @grp + 1
END DAY) AS grp,
@prev_date := date_column
FROM date_table
JOIN (SELECT @grp := 0, @prev_date := NULL) AS vars
ORDER BY date_column
) AS subquery
GROUP BY grp
ORDER BY consecutive_days DESC
LIMIT 1;
這個查詢將返回最長的連續日期范圍的開始日期、結束日期和連續天數。