SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-02-08', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2011-02-08', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
第一个sql可以查询出1850条数据
第二个可以查询出2382条数据
第三个可以查询4202条数据
为什么第一个加第二个 != 第三个查出的数据呢?
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-02-08', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2011-02-08', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
第一个sql可以查询出1850条数据
第二个可以查询出2382条数据
第三个可以查询4202条数据
为什么第一个加第二个 != 第三个查出的数据呢?
这个日期的数据,就是差异所在了。
重复查询了2便,2条sql中都有它
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-02-09', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2011-02-08', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc SELECT COUNT(t0.userid)
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2012-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc这样查询的结果是:
2349+1850!=4202
FROM product t0, serv_st t2
WHERE 1 = 1
AND (t2.servid = t0.servid)
AND T0.SDATE <= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
AND T0.SDATE >= TO_DATE('2011-01-22', 'yyyy-mm-dd hh24:mi:ss')
ORDER BY T0.userid desc
这么查询竟然可以查询出数据 97条 求解释
sql写成:>=2011-1-1 <2011-1-3
AND T0.SDATE > TO_DATE('2011-01-22 12:00:00', 'yyyy-mm-dd hh24:mi:ss')
楼主的问题,还是要考虑设计。
需求是什么,SQL再改。