语句:
SELECT LEFT(A.CheckOut_Time,10)
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10)查询结果为3条:
"2010-07-09"
"2010-07-12"
"2010-07-15"现在想求这个结果的条数,我用count
SELECT count(LEFT(A.CheckOut_Time,10))
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10)查询的结果貌似先求的count再group by
我只好再套一层查询如下:
SELECT COUNT(DATEDAY) FROM (
SELECT LEFT(A.CheckOut_Time,10) AS DATEDAY
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10) ) AS B请问如果去掉外层的SELECT语句应该怎么写?
SELECT LEFT(A.CheckOut_Time,10)
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10)查询结果为3条:
"2010-07-09"
"2010-07-12"
"2010-07-15"现在想求这个结果的条数,我用count
SELECT count(LEFT(A.CheckOut_Time,10))
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10)查询的结果貌似先求的count再group by
我只好再套一层查询如下:
SELECT COUNT(DATEDAY) FROM (
SELECT LEFT(A.CheckOut_Time,10) AS DATEDAY
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10) ) AS B请问如果去掉外层的SELECT语句应该怎么写?
解决方案 »
- 求助,新安装的mysql,新增普通用户无法创建密码
- 不知道mysql密码
- 【开源】我开发的贴吧,先公开测试一下后台管理系统 mysql5.2+linux+asp.net
- SHOW VARIABLES LIKE 'BASE%'
- InnoDB复制如何初始化数据?也用LOAD DATA FROM MASTER?
- 根据a的aid从b表中取最后的一个lasttime时间的ip值
- 关于嵌套查询的问题
- 这个子查询错在哪里了?
- 奇怪的记录插入问题,在线等待。
- 新人问一下MyEclipse连接MySQL的问题。
- 存储过程问题
- java调用存储过程错误,怎么搞都是这个样子Callable statments not supported.
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10)
结果如下:
SELECT count(LEFT(A.CheckOut_Time,10))
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10) 3
1
2SELECT count(distinct LEFT(A.CheckOut_Time,10))
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'
GROUP BY LEFT(A.CheckOut_Time,10) 结果:
1
1
1
FROM OrderMstTbl A, OrderInfoTbl B
WHERE (A.Order_Status = '0' OR A.Order_Status = '3') AND A.Del_Flg = '0'
AND A.Order_ID = B.Order_ID AND A.Store_ID = B.Store_ID AND A.Store_ID = '01'
AND LEFT(A.CheckOut_Time,10)>='2010-07-01' AND LEFT(A.CheckOut_Time,10)<='2010-07-31'