如何在同一列或不同列的一个sql语句中两次使用'BETWEEN'条件
Posted
技术标签:
【中文标题】如何在同一列或不同列的一个sql语句中两次使用\'BETWEEN\'条件【英文标题】:how to use 'BETWEEN' condetion two times in one sql statement for same column or diffrent columns如何在同一列或不同列的一个sql语句中两次使用'BETWEEN'条件 【发布时间】:2011-05-06 21:21:16 【问题描述】:这是sql语句只给一个值
SELECT count(pn1) FROM pledges
WHERE date1
BETWEEN '2011-05-05' AND '2011-06-06'
我想对同一列或同一表中的不同列多次使用“之间”
例如,我想在 date1 中多次使用它,或者我想将它用于具有不同范围的 date1 和 date2
注意:我正在使用 java DB Derpy(JDBC-Derby)
【问题讨论】:
【参考方案1】:同一列不止一次:
SELECT count(pn1)
FROM pledges
WHERE date1 BETWEEN '2011-05-05' AND '2011-06-06'
OR date1 BETWEEN '2011-07-05' AND '2011-08-06'
两个不同的列:
SELECT count(pn1)
FROM pledges
WHERE date1 BETWEEN '2011-05-05' AND '2011-06-06'
AND date2 BETWEEN '2011-05-05' AND '2011-06-06'
编辑:根据评论,也许您正在寻找类似的东西?
SELECT SUM(CASE WHEN date1 BETWEEN '2011-05-05' AND '2011-06-06' THEN 1 ELSE 0) END AS Count1,
SUM(CASE WHEN date1 BETWEEN '2011-07-05' AND '2011-08-06' THEN 1 ELSE 0) END AS Count2
FROM pledges
WHERE date1 BETWEEN '2011-05-05' AND '2011-06-06'
OR date1 BETWEEN '2011-07-05' AND '2011-08-06'
【讨论】:
不,我不是那个意思..我想看到两个结果..在我的查询中我也可以在您的查询中看到一个结果,但我想要 2 个结果,例如..当前查询给我结果是 6,我希望看到 6 和 8 作为结果以上是关于如何在同一列或不同列的一个sql语句中两次使用'BETWEEN'条件的主要内容,如果未能解决你的问题,请参考以下文章