【发布时间】:2010-11-22 02:30:30
【问题描述】:
我想在查询本身中获取子查询的返回行数。然后我将在 if 情况下在主查询中使用它。我添加了一个示例,作为一个虚拟字符串,我输入了 QUERY_ROW_COUNT。是否有任何功能可以实现这一点?在此先感谢...问候...
SELECT period_id,
lt_id,
period_name,
min_stay,
IF(QUERY_ROW_COUNT=1, 1,0) as tag
FROM (SELECT period_id,
lt_id,
period_name,
min_stay,
fromDate,
toDate,
DATEDIFF( '2010-12-27', '2010-12-10' ) as totalDays,
nightly_rate,
case when ('2010-12-10' > fromDate AND '2010-12-27' < toDate) then
DATEDIFF( '2010-12-27', '2010-12-10' )
else 0
end as d6,
case when ('2010-12-10' > fromDate AND '2010-12-27' > toDate) then
DATEDIFF( toDate, '2010-12-10' )+1
else 0
end as d7,
case when ('2010-12-10' < fromDate AND '2010-12-27' < toDate) then
DATEDIFF( '2010-12-27', fromDate )
else 0
end as d8,
case when ('2010-12-10' < fromDate AND '2010-12-27' > toDate) then
DATEDIFF( toDate, fromDate )
else 0
end as d9
FROM `lt_hperiods`
WHERE ('2010-12-10' BETWEEN Date( fromDate ) AND Date( toDate ) )
OR ( '2010-12-27' BETWEEN Date( fromDate ) AND Date( toDate ))
OR ('2010-12-10' <= fromDate AND '2010-12-27' >= toDate )
AND (lt_id=1)) MQS
【问题讨论】:
标签: sql mysql aggregate-functions