【问题标题】:MySQL: count data with a rangeMySQL:计算范围内的数据
【发布时间】:2012-06-21 02:26:16
【问题描述】:

我正在使用下面的查询来计算每日结果,但现在我将其缩短,只是在 2012-06-01 中显示数据结果。

SELECT DATE(A.Inspection_datetime) AS Date,A.Line,
       TRIM(A.Model) AS Model, A.Lot_no, COUNT(A.Serial_number) AS Qty,
       B.name
FROM inspection_report AS A
LEFT JOIN Employee AS B
ON A.NIK=B.NIK
WHERE A.Inspection_datetime LIKE '2012-06-01%'
GROUP BY DATE(A.Inspection_datetime), TRIM(A.Model), B.name,A.Line,A.Lot_no

我得到的结果如下:

Date        Line       Model        Lot_no  Qty name
2012-06-01  FA 24   DDX6051BTQD     014A    4   Ben
2012-06-01  FA 24   DDX6051BTQD     014A    4   August
2012-06-01  FA 24   DDX630WBTXD     012A    8   August
2012-06-01  FA 17   KD-DV5506UPD    021A    20  Stue
2012-06-01  FA 17   KD-DV5606UD     114A    25  Carl
2012-06-01  FA 17   KD-DV5606UD     114A    3   Teo

如果我想统计数据直到目标数据前该怎么办。从DDX6051BTQD 计数到KD-DV5506UPD。所以,我只是得到 LIKE 的结果:

Date          Qty
2012-06-01    36

试试:

SELECT X.DATE, SUM(X.Qty) FROM (//insert query above//)
WHERE ??????? //how to do ?

【问题讨论】:

    标签: mysql sum where-clause


    【解决方案1】:

    你可以试试下面的;

    SET @userValueFrom := 'DDX6051BTQD';
    SET @userValueTo :='KD-DV5506UPD';
    
    SELECT * FROM (//insert your query above//) 
    where Model >= @userValueFrom and Model <= @userValueTo ;
    

    【讨论】:

    • SELECT 可以使用您的选择。只需添加 where 子句SELECT X.DATE, SUM(X.Qty) FROM (//insert query above//) WHERE Model &gt;= @userValueFrom and Model &lt;= @userValueTo ;
    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2011-02-05
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多