diff --git a/Providers/FreeSql.Provider.QuestDb/QuestDbGlobalExtensions.cs b/Providers/FreeSql.Provider.QuestDb/QuestDbGlobalExtensions.cs
index a6192657..aed7de90 100644
--- a/Providers/FreeSql.Provider.QuestDb/QuestDbGlobalExtensions.cs
+++ b/Providers/FreeSql.Provider.QuestDb/QuestDbGlobalExtensions.cs
@@ -111,13 +111,17 @@ public static partial class QuestDbGlobalExtensions
///
/// 时长
/// 单位
+ /// 对准日历
///
- public static ISelect SampleBy(this ISelect select, double time, SampleUnits unit)
+ public static ISelect SampleBy(this ISelect select, double time, SampleUnits unit, bool alignToCalendar = false)
{
var _unit = Enum.GetName(typeof(SampleUnits), unit);
SampleByExtension.IsExistence.Value = true;
- var samoleByTemple = $"{Environment.NewLine}SAMPLE BY {{0}}{{1}} ";
- SampleByExtension.SamoleByString.Value = string.Format(samoleByTemple, time.ToString(), _unit);
+ var samoleByTemple = $"{Environment.NewLine}SAMPLE BY {{0}}{{1}} {{2}}";
+ string alignToCalendarTemple = "";
+ if (alignToCalendar)
+ alignToCalendarTemple = "ALIGN TO CALENDAR ";
+ SampleByExtension.SamoleByString.Value = string.Format(samoleByTemple, time.ToString(), _unit, alignToCalendarTemple);
return select;
}